autotools: cleanup
authorChris Larson <chris_larson@mentor.com>
Wed, 20 Oct 2010 01:12:46 +0000 (18:12 -0700)
committerChris Larson <chris_larson@mentor.com>
Wed, 16 Feb 2011 22:00:42 +0000 (15:00 -0700)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Acked-by: Khem Raj <raj.khem@gmail.com>
classes/autotools.bbclass

index c8cb0e9..4d7a66b 100644 (file)
@@ -17,7 +17,7 @@ def autotools_deps(d):
                if (not oe.utils.inherits(d, 'native', 'nativesdk', 'cross',
                                          'sdk') and
                    not d.getVar('INHIBIT_DEFAULT_DEPS', True)):
-                    deps += 'libtool-cross '
+                       deps += 'libtool-cross '
 
        return deps + 'gnu-config-native '
 
@@ -110,22 +110,13 @@ oe_runconf () {
 
 autotools_do_configure() {
        case ${PN} in
-       autoconf*)
-       ;;
-       automake*)
+       autoconf*|automake*)
        ;;
        *)
-               # WARNING: gross hack follows:
-               # An autotools built package generally needs these scripts, however only
-               # automake or libtoolize actually install the current versions of them.
-               # This is a problem in builds that do not use libtool or automake, in the case
-               # where we -need- the latest version of these scripts.  e.g. running a build
-               # for a package whose autotools are old, on an x86_64 machine, which the old
-               # config.sub does not support.  Work around this by installing them manually
-               # regardless.
-               ( for ac in `find ${S} -name configure.in -o -name configure.ac`; do
-                       rm -f `dirname $ac`/configure
-                       done )
+               find ${S} -name configure.in -o -name configure.ac | \
+                       while read fn; do
+                               rm -f `dirname $fn`/configure
+                       done
                if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then
                        olddir=`pwd`
                        cd ${S}
@@ -138,9 +129,7 @@ autotools_do_configure() {
                        else
                                acpaths="${acpaths}"
                        fi
-                       AUTOV=`automake --version |head -n 1 |sed "s/.* //;s/\.[0-9]\+$//"`
-                       automake --version
-                       echo "AUTOV is $AUTOV"
+                       AUTOV=`automake --version | head -n 1 | sed "s/.* //;s/\.[0-9]\+$//"`
                        install -d ${STAGING_DATADIR}/aclocal
                        install -d ${STAGING_DATADIR}/aclocal-$AUTOV
                        acpaths="$acpaths -I${STAGING_DATADIR}/aclocal-$AUTOV -I ${STAGING_DATADIR}/aclocal"
@@ -151,34 +140,31 @@ autotools_do_configure() {
                                rm -f aclocal.m4
                        fi
                        if [ -e configure.in ]; then
-                         CONFIGURE_AC=configure.in
+                               CONFIGURE_AC=configure.in
                        else
-                         CONFIGURE_AC=configure.ac
+                               CONFIGURE_AC=configure.ac
                        fi
-                       if grep -q "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC; then
-                         if grep -q "sed.*POTFILES" $CONFIGURE_AC; then
-                           : do nothing -- we still have an old unmodified configure.ac
-                         else
-                           oenote Executing glib-gettextize --force --copy
-                           echo "no" | glib-gettextize --force --copy
-                         fi
-                       else if grep -q "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC; then
-                         if [ -e ${STAGING_DATADIR}/gettext/config.rpath ]; then
-                           cp ${STAGING_DATADIR}/gettext/config.rpath ${S}/
-                         else
-                           oenote ${STAGING_DATADIR}/gettext/config.rpath not found. gettext is not installed.
-                         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
+                                       echo "no" | glib-gettextize --force --copy
+                               fi
+                       else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
+                               if [ -e ${STAGING_DATADIR}/gettext/config.rpath ]; then
+                                       cp ${STAGING_DATADIR}/gettext/config.rpath ${S}/
+                               else
+                                       oenote ${STAGING_DATADIR}/gettext/config.rpath not found. gettext is not installed.
+                               fi
                        fi
 
                        fi
                        for aux in m4 `sed -n -e '/^[[:space:]]*AC_CONFIG_MACRO_DIR/s|[^(]*([[]*\([^])]*\)[]]*)|\1|p' $CONFIGURE_AC`; do
                                mkdir -p ${aux}
                        done
-                       oenote Executing autoreconf --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
                        autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || oefatal "autoreconf execution failed."
-                       if grep -q "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC; then
-                         oenote Executing intltoolize --copy --force --automake
-                         intltoolize --copy --force --automake
+                       if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
+                               intltoolize --copy --force --automake
                        fi
                        cd $olddir
                fi