Build shared libraries only as the default
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 11 Dec 2014 22:50:11 +0000 (23:50 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 11 Dec 2014 23:09:41 +0000 (00:09 +0100)
Now that we have more options in terms of static/shared libraries,
switch from the existing default of building both shared and static
libraries to building shared libraries only (of course only on
platforms that support shared libraries).

Building both shared and static takes time (since the shared objects
must be built with -fPIC, while static objects are generally built
without, as -fPIC has some performance impact) and consumes a little
bit more disk space.

For example, a static+shared build of libglib2 takes 1 minutes and 59
seconds, with a final build directory of 96 MB. A shared-only build of
libglib2 takes only 1 minutes and 31 seconds (almost a 25% reduction
of the build time), and the final build directory weights 89 MB (a
reduction of almost 8%).

So, switching to a shared library only build brings some useful build
time and build size benefits.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Config.in

index 45921398dc0a47fbc957f90753f07a049de5e3df..f5b6c7346b6acbf7fbc20f67d685a17c5a04a9df 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -527,7 +527,7 @@ comment "enabling Stack Smashing Protection requires support in the toolchain"
 
 choice
        bool "libraries"
-       default BR2_SHARED_STATIC_LIBS if BR2_BINFMT_SUPPORTS_SHARED
+       default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED
        default BR2_STATIC_LIBS if !BR2_BINFMT_SUPPORTS_SHARED
        help
          Select the type of libraries you want to use on the target.