]> code.ossystems Code Review - openembedded-core.git/commitdiff
openjade-native: statically link local libs
authorChristopher Larson <chris_larson@mentor.com>
Tue, 10 Nov 2015 20:49:15 +0000 (13:49 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 25 Nov 2015 08:07:59 +0000 (08:07 +0000)
Statically link local libs to avoid gold link issue. This is clearly
a workaround, but does get us past the failures with systems using gold by
default until we find a better solution.

[YOCTO #2972]

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-devtools/openjade/openjade-native_1.3.2.bb

index fa7aa62eb3f3948f3b1314fa0a2c7494112cab01..355ed6a16e1d71ba1039c954342312e2636ec07e 100644 (file)
@@ -24,6 +24,10 @@ SRC_URI[sha256sum] = "1d2d7996cc94f9b87d0c51cf0e028070ac177c4123ecbfd7ac1cb8d0b7
 
 inherit autotools-brokensep native
 
+# Statically link local libs to avoid gold link issue [YOCTO #2972]
+PACKAGECONFIG ?= "static-only-libs"
+PACKAGECONFIG[static-only-libs] = "--enable-static --disable-shared,--enable-static --enable-shared,,"
+
 EXTRA_OECONF = "--enable-spincludedir=${STAGING_INCDIR}/OpenSP \
                 --enable-splibdir=${STAGING_LIBDIR}"
 
@@ -57,14 +61,20 @@ do_compile_prepend () {
 do_install() {
        # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/openjade.html
        # for details.
-       install -d ${D}${bindir}        
-       install -m 0755 ${S}/jade/.libs/openjade ${D}${bindir}/openjade
+       install -d ${D}${bindir} ${D}${libdir}
+       if ${@bb.utils.contains('PACKAGECONFIG', 'static-only-libs', 'true', 'false', d)}; then
+               install -m 0755 jade/openjade ${D}${bindir}/openjade
+               oe_libinstall -a -C style libostyle ${D}${libdir}
+               oe_libinstall -a -C spgrove libospgrove ${D}${libdir}
+               oe_libinstall -a -C grove libogrove ${D}${libdir}
+       else
+               install -m 0755 jade/.libs/openjade ${D}${bindir}/openjade
+               oe_libinstall -a -so -C style libostyle ${D}${libdir}
+               oe_libinstall -a -so -C spgrove libospgrove ${D}${libdir}
+               oe_libinstall -a -so -C grove libogrove ${D}${libdir}
+       fi
        ln -sf openjade ${D}${bindir}/jade
 
-       oe_libinstall -a -so -C style libostyle ${D}${libdir}
-       oe_libinstall -a -so -C spgrove libospgrove ${D}${libdir}
-       oe_libinstall -a -so -C grove libogrove ${D}${libdir}
-
        install -d ${D}${datadir}/sgml/openjade-${PV}
        install -m 644 dsssl/catalog ${D}${datadir}/sgml/openjade-${PV}
        install -m 644 dsssl/*.dtd ${D}${datadir}/sgml/openjade-${PV}