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

Reply via email to