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:53:16 +0000 |
commit | f3358ab1d7e76ef263d2f86e5fd675bdebb48764 (patch) | |
tree | feae42e17ee1339e21ae206e7ced2197841e4a85 /meta/recipes-core/gettext/gettext_0.19.8.1.bb | |
parent | e8df21679e88200280d2e110502782568ff65f7d (diff) | |
download | poky-f3358ab1d7e76ef263d2f86e5fd675bdebb48764.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)
(From OE-Core rev: e6c0f8eddf8ff4a6132934a69e0f3450d4843ece)
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 \ | |||
17 | file://parallel.patch \ | 17 | file://parallel.patch \ |
18 | file://add-with-bisonlocaledir.patch \ | 18 | file://add-with-bisonlocaledir.patch \ |
19 | file://cr-statement.c-timsort.h-fix-formatting-issues.patch \ | 19 | file://cr-statement.c-timsort.h-fix-formatting-issues.patch \ |
20 | file://use-pkgconfig.patch \ | ||
20 | " | 21 | " |
21 | 22 | ||
22 | SRC_URI[md5sum] = "97e034cf8ce5ba73a28ff6c3c0638092" | 23 | SRC_URI[md5sum] = "97e034cf8ce5ba73a28ff6c3c0638092" |
23 | SRC_URI[sha256sum] = "ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43" | 24 | SRC_URI[sha256sum] = "ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43" |
24 | 25 | ||
25 | inherit autotools texinfo | 26 | inherit autotools texinfo pkgconfig |
26 | 27 | ||
27 | EXTRA_OECONF += "--without-lispdir \ | 28 | EXTRA_OECONF += "--without-lispdir \ |
28 | --disable-csharp \ | 29 | --disable-csharp \ |
@@ -39,14 +40,16 @@ EXTRA_OECONF_append_class-target = " \ | |||
39 | --with-bisonlocaledir=${datadir}/locale \ | 40 | --with-bisonlocaledir=${datadir}/locale \ |
40 | " | 41 | " |
41 | 42 | ||
42 | PACKAGECONFIG ??= "croco glib libxml libunistring" | 43 | PACKAGECONFIG ??= "croco glib libxml" |
43 | PACKAGECONFIG_class-native = "" | 44 | PACKAGECONFIG_class-native = "" |
44 | PACKAGECONFIG_class-nativesdk = "" | 45 | PACKAGECONFIG_class-nativesdk = "" |
45 | 46 | ||
46 | PACKAGECONFIG[croco] = "--without-included-libcroco,--with-included-libcroco,libcroco" | 47 | PACKAGECONFIG[croco] = "--without-included-libcroco,--with-included-libcroco,libcroco" |
47 | PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0" | 48 | PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0" |
48 | PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml2" | 49 | PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml2" |
49 | PACKAGECONFIG[libunistring] = "--without-included-libunistring,--with-included-libunistring,libunistring" | 50 | # Need paths here to avoid host contamination but this can cause RPATH warnings |
51 | # or problems if $libdir isn't $prefix/lib. | ||
52 | PACKAGECONFIG[libunistring] = "--with-libunistring-prefix=${STAGING_LIBDIR}/..,--with-included-libunistring,libunistring" | ||
50 | PACKAGECONFIG[msgcat-curses] = "--with-libncurses-prefix=${STAGING_LIBDIR}/..,--disable-curses,ncurses," | 53 | PACKAGECONFIG[msgcat-curses] = "--with-libncurses-prefix=${STAGING_LIBDIR}/..,--disable-curses,ncurses," |
51 | 54 | ||
52 | acpaths = '-I ${S}/gettext-runtime/m4 \ | 55 | acpaths = '-I ${S}/gettext-runtime/m4 \ |