aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/gettext/gettext_0.19.8.1.bb
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2018-01-23 00:54:13 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-01-30 12:47:36 +0000
commite6c0f8eddf8ff4a6132934a69e0f3450d4843ece (patch)
treea4716fb69048dbd4910c788c88a4994be58766a5 /meta/recipes-core/gettext/gettext_0.19.8.1.bb
parentdf07a95f270492dba9fa04f917617b1aaee123b9 (diff)
downloadopenembedded-core-contrib-e6c0f8eddf8ff4a6132934a69e0f3450d4843ece.tar.gz
gettext: beat library detection into shape
For reasons I can't explain gettext uses several hundred lines of convoluted m4 to find the paths to a library. If we don't tell it where to find a library it will hunt around and potentially have host contamination as /usr/lib on the host is explicitly searched. If we tell it the prefix to a library then we get bad RPATHs in the binaries (such as /usr/lib/../lib), and the search assumes that it knows best about what the library directories are under that prefix (even when it's wrong). So, replace the lookup where possible with pkg-config calls (libxml2, glib, libcroco). libunistring doens't have a pkgconfig file so just don't use the system libunistring: the library is tiny anyway. (From OE-Core rev: 1ff35fbbdd50660b86f8e254685ae0c8338b6e11) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/gettext/gettext_0.19.8.1.bb')
-rw-r--r--meta/recipes-core/gettext/gettext_0.19.8.1.bb9
1 files changed, 6 insertions, 3 deletions
diff --git a/meta/recipes-core/gettext/gettext_0.19.8.1.bb b/meta/recipes-core/gettext/gettext_0.19.8.1.bb
index 97083c0da2..68f5cc329a 100644
--- a/meta/recipes-core/gettext/gettext_0.19.8.1.bb
+++ b/meta/recipes-core/gettext/gettext_0.19.8.1.bb
@@ -17,12 +17,13 @@ SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
file://parallel.patch \
file://add-with-bisonlocaledir.patch \
file://cr-statement.c-timsort.h-fix-formatting-issues.patch \
+ file://use-pkgconfig.patch \
"
SRC_URI[md5sum] = "97e034cf8ce5ba73a28ff6c3c0638092"
SRC_URI[sha256sum] = "ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43"
-inherit autotools texinfo
+inherit autotools texinfo pkgconfig
EXTRA_OECONF += "--without-lispdir \
--disable-csharp \
@@ -39,14 +40,16 @@ EXTRA_OECONF_append_class-target = " \
--with-bisonlocaledir=${datadir}/locale \
"
-PACKAGECONFIG ??= "croco glib libxml libunistring"
+PACKAGECONFIG ??= "croco glib libxml"
PACKAGECONFIG_class-native = ""
PACKAGECONFIG_class-nativesdk = ""
PACKAGECONFIG[croco] = "--without-included-libcroco,--with-included-libcroco,libcroco"
PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0"
PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml2"
-PACKAGECONFIG[libunistring] = "--without-included-libunistring,--with-included-libunistring,libunistring"
+# Need paths here to avoid host contamination but this can cause RPATH warnings
+# or problems if $libdir isn't $prefix/lib.
+PACKAGECONFIG[libunistring] = "--with-libunistring-prefix=${STAGING_LIBDIR}/..,--with-included-libunistring,libunistring"
PACKAGECONFIG[msgcat-curses] = "--with-libncurses-prefix=${STAGING_LIBDIR}/..,--disable-curses,ncurses,"
acpaths = '-I ${S}/gettext-runtime/m4 \