[OE-core] [PATCH] autotools: Enhance gettext handling to better work with SCM versions of code

Richard Purdie richard.purdie at linuxfoundation.org
Wed Oct 12 13:42:33 UTC 2011


If we pull SCM based code using gettext, Makefile.in.in in the
po directory can be missing. We therefore need to add this if
its not already present. We could use gettextize if it wasn't
so broken (for example requiring user input on stdin and installing
way more files that we ever care about such as the m4 files).

We also have a problem if a recipe sets a different AUX dir, for
now fix this by allowing recipes to specify when this is being done
using the AUTOTOOLS_AUXDIR variable. Ultimately we could likely
figure this out automatically.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index a4ce851..0413322 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -80,6 +80,8 @@ oe_runconf () {
 	fi
 }
 
+AUTOTOOLS_AUXDIR ?= "${S}"
+
 autotools_do_configure() {
 	case ${PN} in
 	autoconf*)
@@ -144,7 +146,11 @@ autotools_do_configure() {
 			      echo "no" | glib-gettextize --force --copy
 			    fi
 			  else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
-			    cp ${STAGING_DATADIR}/gettext/config.rpath ${S}/
+                            # We'd call gettextize here if it wasn't so broken...
+			    cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
+			    if [ ! -e ${S}/po/Makefile.in.in ]; then
+			      cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
+                            fi
 			  fi
 			fi
 			fi






More information about the Openembedded-core mailing list