summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-14 14:28:48 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-15 16:28:46 +0000
commit438d6d6e7d8ca1a9d566bbea5b917a2b00a31f4e (patch)
treedb7a324c2c301de45b74066d5d2e4fdd2862a745
parent2eb19cc72370c5643025ddd78d8711e9e9e3415f (diff)
downloadpoky-438d6d6e7d8ca1a9d566bbea5b917a2b00a31f4e.tar.gz
conf/distro/include: Add no-static-libs.inc
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. (From OE-Core rev: 773c9e18071d71454473dd81aff911104a2e9bc6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/conf/distro/include/no-static-libs.inc30
1 files changed, 30 insertions, 0 deletions
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 0000000000..7e5c5b940f
--- /dev/null
+++ b/meta/conf/distro/include/no-static-libs.inc
@@ -0,0 +1,30 @@
1DISABLE_STATIC = " --disable-static"
2# qemu aborts on unrecognised option
3DISABLE_STATIC_pn-qemu = ""
4DISABLE_STATIC_pn-qemu-native = ""
5DISABLE_STATIC_pn-nativesdk-qemu = ""
6# pciutils fails build
7DISABLE_STATIC_pn-pciutils = ""
8# libcap aborts on unrecognised option
9DISABLE_STATIC_pn-libcap = ""
10# libpcap aborts on unrecognised option
11DISABLE_STATIC_pn-libpcap = ""
12# needed by gdb
13DISABLE_STATIC_pn-readline = ""
14# needed by pseudo
15DISABLE_STATIC_pn-sqlite3 = ""
16DISABLE_STATIC_pn-sqlite3-native = ""
17DISABLE_STATIC_pn-nativesdk-sqlite3 = ""
18# openjade/sgml-common have build issues without static libs
19DISABLE_STATIC_pn-sgml-common-native = ""
20DISABLE_STATIC_pn-openjade-native = ""
21# openssl has build issues without static libs
22DISABLE_STATIC_pn-openssl = ""
23DISABLE_STATIC_pn-openssl-native = ""
24DISABLE_STATIC_pn-nativesdk-openssl = ""
25# waf aborts on unknown option
26DISABLE_STATIC_pn-eglinfo-x11 = ""
27DISABLE_STATIC_pn-eglinfo-fb = ""
28# libssp-static-dev included in build-appliance
29DISABLE_STATIC_pn-gcc-runtime = ""
30EXTRA_OECONF_append = "${DISABLE_STATIC}"