summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core
diff options
context:
space:
mode:
authorAndré Draszik <git@andred.net>2016-08-18 17:15:00 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-08-23 17:44:40 +0100
commitbb96b161ae2e8c98b2d9b29b6cf2c16b89773549 (patch)
tree36c4c32dc2bb2d26b15e1c4fc166c1cab941ac4d /meta/recipes-core
parentedec1c4e1ddc986edf2bd1ea11cff9277096c8f5 (diff)
downloadpoky-bb96b161ae2e8c98b2d9b29b6cf2c16b89773549.tar.gz
gettext_0.16.1: use musl gettext implementation
gettext uses internal symbols to detect whether the implementation is compatible with GNU gettext. However, these symbols don't are not part of the public API, they are specific to glibc. While musl implements the GNU gettext *API* version 1 and 2 http://www.openwall.com/lists/musl/2015/04/16/3 it doesn't implement glibc internals. This means that gettext fails to detect musl's working implementation. More recent versions of gettext have changed the way GNU gettext compatibility is done https://lists.gnu.org/archive/html/bug-gettext/2016-04/msg00000.html http://git.savannah.gnu.org/cgit/gettext.git/commit/gettext-runtime/m4/gettext.m4?id=b67399b40bc5bf3165b09e6a095ec941d4b30a97 and while we could backport the corresponding patch to gettext.m4, we avoid doing that so as to avoid any potential GPL-v3 issues. So instead we force ./configure to assume that the gettext implementation of the c-library (musl) is compatible. As a side-effect, this also reduces image sizes as the internal gettext implementation isn't built anymore, and it's otherwise packaged into the main gettext package which blows up the image as the main gettext package contains a lot of things. Similarly, libintl.h isn't generated anymore, as the one from musl is OK. (From OE-Core rev: 948f0bd162f0b1b0375db884e99a2338f47e8527) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r--meta/recipes-core/gettext/gettext_0.16.1.bb6
1 files changed, 5 insertions, 1 deletions
diff --git a/meta/recipes-core/gettext/gettext_0.16.1.bb b/meta/recipes-core/gettext/gettext_0.16.1.bb
index 8b6f0a71b0..5a58578e22 100644
--- a/meta/recipes-core/gettext/gettext_0.16.1.bb
+++ b/meta/recipes-core/gettext/gettext_0.16.1.bb
@@ -31,6 +31,11 @@ PARALLEL_MAKE = ""
31inherit autotools texinfo 31inherit autotools texinfo
32 32
33EXTRA_OECONF += "--without-lisp --disable-csharp --disable-openmp --without-emacs" 33EXTRA_OECONF += "--without-lisp --disable-csharp --disable-openmp --without-emacs"
34EXTRA_OECONF_append_libc-musl = "\
35 gt_cv_func_gnugettext1_libc=yes \
36 gt_cv_func_gnugettext2_libc=yes \
37 "
38
34acpaths = '-I ${S}/autoconf-lib-link/m4/ \ 39acpaths = '-I ${S}/autoconf-lib-link/m4/ \
35 -I ${S}/gettext-runtime/m4 \ 40 -I ${S}/gettext-runtime/m4 \
36 -I ${S}/gettext-tools/m4' 41 -I ${S}/gettext-tools/m4'
@@ -41,7 +46,6 @@ do_configure_prepend() {
41 46
42do_install_append_libc-musl () { 47do_install_append_libc-musl () {
43 rm -f ${D}${libdir}/charset.alias 48 rm -f ${D}${libdir}/charset.alias
44 rm -f ${D}${includedir}/libintl.h
45} 49}
46 50
47# these lack the .x behind the .so, but shouldn't be in the -dev package 51# these lack the .x behind the .so, but shouldn't be in the -dev package