From 091f9752984dd413b115d53f0ed38789cc66f12b Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 11 Oct 2012 08:43:01 +0000 Subject: [PATCH] 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) (From OE-Core rev: 841ea3c1c18e50e77fccbd5f44d6a79a50913b67) Signed-off-by: Richard Purdie --- meta/classes/autotools.bbclass | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass index 7c99bbd..59c5bae 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 -- 2.7.4