From 841ea3c1c18e50e77fccbd5f44d6a79a50913b67 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 11 Oct 2012 08:43:01 +0000 Subject: autotools.bbclass: Fix gettext macro versions issues gettext m4 macros don't use the usual versioning/serial mechanism used by aclocal. It therefore won't update them over and above any local version of the macro. Equally, we don't run gettextize due to it doing slightly crazy things to the build. When we put the aclocal directory as a -I option to aclocal, if this was found first compared to any recipe provided macros, the correct version of the gettext macro would still "win". With the switch so correctly override the system directory, older recipe provided macros may get used. This patch manually removes the problematic m4 macros in the case we're using gettext and need to use the correct m4 macros. This patch also always ensures the gettext manipulations happen, even in the -native case since missing or stale gettext files could cause build failures. (From OE-Core rev: e9645d2bbeabaa5251d49edd659ab320fd66d0ee) Signed-off-by: Richard Purdie --- meta/classes/autotools.bbclass | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'meta') diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass index 7c99bbdbac..59c5bae8fa 100644 --- a/meta/classes/autotools.bbclass +++ b/meta/classes/autotools.bbclass @@ -166,21 +166,24 @@ autotools_do_configure() { else CONFIGURE_AC=configure.ac fi - if ! echo ${EXTRA_OECONF} | grep -q "\-\-disable-nls"; then - if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then - if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then - : do nothing -- we still have an old unmodified configure.ac - else - bbnote Executing glib-gettextize --force --copy - echo "no" | glib-gettextize --force --copy - fi - else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then - # We'd call gettextize here if it wasn't so broken... - cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/ - if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then - cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/ - fi + if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then + if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then + : do nothing -- we still have an old unmodified configure.ac + else + bbnote Executing glib-gettextize --force --copy + echo "no" | glib-gettextize --force --copy + fi + else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then + # We'd call gettextize here if it wasn't so broken... + cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/ + if [ -d ${S}/po/ ]; then + cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/ fi + for i in gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4; do + for j in `find ${S} -name $i | grep -v aclocal-copy`; do + rm $j + done + done fi fi mkdir -p m4 -- cgit v1.2.3