On Tue, Feb 8, 2011 at 8:16 AM, Chris Larson <[email protected]> wrote: > From: Chris Larson <[email protected]> > > This functionality logically belongs in its own function, and it makes it > easier to explicitly run against subdirs in certain cases. > > Signed-off-by: Chris Larson <[email protected]>
Acked-by: Khem Raj <[email protected]> > --- > classes/autotools.bbclass | 96 +++++++++++++++++++++++--------------------- > 1 files changed, 50 insertions(+), 46 deletions(-) > > diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass > index 4d7a66b..9744589 100644 > --- a/classes/autotools.bbclass > +++ b/classes/autotools.bbclass > @@ -108,6 +108,55 @@ oe_runconf () { > fi > } > > +oe_autoreconf () { > + if [ x"${acpaths}" = xdefault ]; then > + acpaths= > + for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v > 'aclocal.m4'| \ > + grep -v 'acinclude.m4' | sed -e > 's,\(.*/\).*$,\1,'|sort -u`; do > + acpaths="$acpaths -I $i" > + done > + else > + acpaths="${acpaths}" > + fi > + 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" > + # autoreconf is too shy to overwrite aclocal.m4 if it doesn't look > + # like it was auto-generated. Work around this by blowing it away > + # by hand, unless the package specifically asked not to run aclocal. > + if ! echo ${EXTRA_AUTORECONF} | grep -q "aclocal"; then > + rm -f aclocal.m4 > + fi > + if [ -e configure.in ]; then > + CONFIGURE_AC=configure.in > + else > + CONFIGURE_AC=configure.ac > + 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 > + autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} > $acpaths || oefatal "autoreconf execution failed." > + if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC > >/dev/null; then > + intltoolize --copy --force --automake > + fi > +} > + > autotools_do_configure() { > case ${PN} in > autoconf*|automake*) > @@ -120,52 +169,7 @@ autotools_do_configure() { > if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then > olddir=`pwd` > cd ${S} > - if [ x"${acpaths}" = xdefault ]; then > - acpaths= > - for i in `find ${S} -maxdepth 2 -name > \*.m4|grep -v 'aclocal.m4'| \ > - grep -v 'acinclude.m4' | sed -e > 's,\(.*/\).*$,\1,'|sort -u`; do > - acpaths="$acpaths -I $i" > - done > - else > - acpaths="${acpaths}" > - fi > - 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" > - # autoreconf is too shy to overwrite aclocal.m4 if it > doesn't look > - # like it was auto-generated. Work around this by > blowing it away > - # by hand, unless the package specifically asked not > to run aclocal. > - if ! echo ${EXTRA_AUTORECONF} | grep -q "aclocal"; > then > - rm -f aclocal.m4 > - fi > - if [ -e configure.in ]; then > - CONFIGURE_AC=configure.in > - else > - CONFIGURE_AC=configure.ac > - 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 > - autoreconf -Wcross --verbose --install --force > ${EXTRA_AUTORECONF} $acpaths || oefatal "autoreconf execution failed." > - if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" > $CONFIGURE_AC >/dev/null; then > - intltoolize --copy --force --automake > - fi > + oe_autoreconf > cd $olddir > fi > ;; > -- > 1.7.2.3 > > > _______________________________________________ > Openembedded-devel mailing list > [email protected] > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
