]> code.ossystems Code Review - openembedded-core.git/commitdiff
autotools: Enhance gettext handling to better work with SCM versions of code
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 12 Oct 2011 13:24:35 +0000 (14:24 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 14 Oct 2011 11:02:01 +0000 (12:02 +0100)
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@linuxfoundation.org>
meta/classes/autotools.bbclass

index a4ce8519d5d2eebcaf87710fb705d3d4e21adc57..041332208e4299fc3e8d3be30c4b0c46ccca4c52 100644 (file)
@@ -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