On Sun, Feb 14, 2016 at 6:28 AM, Richard Purdie <[email protected]> wrote: > Static libraries are old technology. We've left them around since in > previous tests, they only added around 5% to the overall build time. > > With new and interesting uses of OE, they're becoming more problematic. > For example, sstate becomes much larger with static libs enabled which > increases the size of eSDK and increases the time taken for sstate > operations. Since the static libs contain all the debugging symbols, > they're also pretty huge. > > This patch adds a common include file which allows the user or distro > to disable the static libraries in the majority of cases. > > There are some libs where we do need the static lib, a good example > being pseudo-native which uses sqlite3-native static libs. These are > left enabled by the include file, as are recipes where --disable-static > doesn't work, or isn't supported. This list can likely be reduced over > time as individual corner cases are addressed. > > Maintaining this list in a common location is more desireable than > everyone doing it themselves. Poky will switch to using this, OE-Core > will need to discuss that as its default.
IMO this is a good change and should become default. It also helps a bit with the questions about static linking vs dynamic linking from legal perspective. > > Signed-off-by: Richard Purdie <[email protected]> > > diff --git a/meta/conf/distro/include/no-static-libs.inc > b/meta/conf/distro/include/no-static-libs.inc > new file mode 100644 > index 0000000..b085601 > --- /dev/null > +++ b/meta/conf/distro/include/no-static-libs.inc > @@ -0,0 +1,19 @@ > +DISABLE_STATIC = " --disable-static" > +DISABLE_STATIC_pn-qemu = "" > +DISABLE_STATIC_pn-qemu-native = "" > +DISABLE_STATIC_pn-qemu-nativesdk = "" > +DISABLE_STATIC_pn-pciutils = "" > +DISABLE_STATIC_pn-libcap = "" > +DISABLE_STATIC_pn-libpcap = "" > +# needed by gdb > +DISABLE_STATIC_pn-readline = "" > +# needed by pseudo > +DISABLE_STATIC_pn-sqlite3 = "" > +DISABLE_STATIC_pn-sqlite3-native = "" > +#EXTRA_OECONF += "${DISABLE_STATIC}" > +DISABLE_STATIC_pn-sgml-common-native = "" > +DISABLE_STATIC_pn-openjade-native = "" > +DISABLE_STATIC_pn-openssl = "" > +DISABLE_STATIC_pn-openssl-native = "" > +DISABLE_STATIC_pn-nativesdk-openssl = "" > +EXTRA_OECONF_append = "${DISABLE_STATIC}" > > > -- > _______________________________________________ > Openembedded-core mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
