[oe] [PATCH 2/4] autotools: split out a oe_autoreconf function
Khem Raj
raj.khem at gmail.com
Tue Feb 8 17:16:57 UTC 2011
On Tue, Feb 8, 2011 at 8:16 AM, Chris Larson <kergoth at gmail.com> wrote:
> From: Chris Larson <chris_larson at mentor.com>
>
> 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 <chris_larson at mentor.com>
Acked-by: Khem Raj <raj.khem at gmail.com>
> ---
> 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
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
More information about the Openembedded-devel
mailing list