diff options
author | Ross Burton <ross.burton@intel.com> | 2018-01-23 00:54:13 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-30 12:47:36 +0000 |
commit | e6c0f8eddf8ff4a6132934a69e0f3450d4843ece (patch) | |
tree | a4716fb69048dbd4910c788c88a4994be58766a5 /meta/recipes-core/gettext/gettext_0.19.8.1.bb | |
parent | df07a95f270492dba9fa04f917617b1aaee123b9 (diff) | |
download | openembedded-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.bb | 9 |
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 \ |