[OE-core] [PATCH] conf/distro/include: Add no-static-libs.inc

Khem Raj raj.khem at gmail.com
Sun Feb 14 21:03:13 UTC 2016


On Sun, Feb 14, 2016 at 6:28 AM, Richard Purdie
<richard.purdie at linuxfoundation.org> 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 <richard.purdie at linuxfoundation.org>
>
> 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
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list