I found a typo in it - I sent a new Monday.

> Am 08.10.2015 um 16:31 schrieb Jens Rehsack <rehs...@gmail.com>:
> 
> OpenJDK-8 has it's configure script at common/autotools - which will cause
> the entire assumption of ${S}/configure is regenerated by autoreconf, 
> intltoolize or alike
> fails heavily.
> 
> Also - other configure mechanisms can be supported more similar (see how 
> pkgsrc
> manages different ones ...)
> 
> Signed-off-by: Jens Rehsack <s...@netbsd.org>
> ---
> meta/classes/autotools.bbclass | 48 +++++++++++++++++++++++-------------------
> 1 file changed, 26 insertions(+), 22 deletions(-)
> 
> diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
> index 078f58f..4ab1d3b 100644
> --- a/meta/classes/autotools.bbclass
> +++ b/meta/classes/autotools.bbclass
> @@ -21,7 +21,7 @@ def autotools_dep_prepend(d):
> 
> EXTRA_OEMAKE = ""
> 
> -DEPENDS_prepend = "${@autotools_dep_prepend(d)} "
> +DEPENDS_prepend = "${@autotools_dep_prepend(d)}"
> 
> inherit siteinfo
> 
> @@ -77,17 +77,21 @@ CONFIGUREOPTS = " --build=${BUILD_SYS} \
>                 ${@append_libtool_sysroot(d)}"
> CONFIGUREOPT_DEPTRACK ?= "--disable-dependency-tracking"
> 
> +AUTOTOOLS_SCRIPT_PATH ?= "${S}"
> +CONFIGURE_SCRIPT ?= "${AUTOTOOLS_SCRIPT_PATH}/configure"
> +
> +AUTOTOOLS_AUXDIR ?= "${AUTOTOOLS_SCRIPT_PATH}"
> 
> oe_runconf () {
> -     cfgscript="${S}/configure"
> +     cfgscript="${CONFIGURE_SCRIPT}"
>       if [ -x "$cfgscript" ] ; then
>               bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@"
>               set +e
>               ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} 
> ${EXTRA_OECONF} "$@"
>               if [ "$?" != "0" ]; then
>                       echo "Configure failed. The contents of all config.log 
> files follows to aid debugging"
> -                     find ${S} -ignore_readdir_race -name config.log -print 
> -exec cat {} \;
> -                     die "oe_runconf failed"
> +                     find ${B} -ignore_readdir_race -name config.log -print 
> -exec cat {} \;
> +                     bbfatal "oe_runconf failed"
>               fi
>               set -e
>       else
> @@ -95,8 +99,6 @@ oe_runconf () {
>       fi
> }
> 
> -AUTOTOOLS_AUXDIR ?= "${S}"
> -
> CONFIGURESTAMPFILE = "${WORKDIR}/configure.sstate"
> 
> autotools_preconfigure() {
> @@ -135,6 +137,9 @@ ACLOCALDIR = "${B}/aclocal-copy"
> 
> python autotools_copy_aclocals () {
>     s = d.getVar("S", True)
> +    cfg_script = d.getVar("CONFIGURE_SCRIPT", True)
> +    if os.path.dirname(cfg_script) != ".":
> +        s += "/" + os.path.dirname(cfg_script)
>     if not os.path.exists(s + "/configure.in") and not os.path.exists(s + 
> "/configure.ac"):
>         if not d.getVar("AUTOTOOLS_COPYACLOCAL", False):
>             return
> @@ -228,13 +233,13 @@ autotools_do_configure() {
>       ( for ac in `find ${S} -ignore_readdir_race -name configure.in -o -name 
> configure.ac`; do
>               rm -f `dirname $ac`/configure
>               done )
> -     if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then
> +     if [ -e ${AUTOTOOLS_SCRIPT_PATH}/configure.in -o -e 
> ${AUTOTOOLS_SCRIPT_PATH}/configure.ac ]; then
>               olddir=`pwd`
> -             cd ${S}
> +             cd ${AUTOTOOLS_SCRIPT_PATH}
>               ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/"
>               if [ x"${acpaths}" = xdefault ]; then
>                       acpaths=
> -                     for i in `find ${S} -ignore_readdir_race -maxdepth 2 
> -name \*.m4|grep -v 'aclocal.m4'| \
> +                     for i in `find ${AUTOTOOLS_SCRIPT_PATH} 
> -ignore_readdir_race -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
>                               grep -v 'acinclude.m4' | grep -v 'aclocal-copy' 
> | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
>                               acpaths="$acpaths -I $i"
>                       done
> @@ -265,21 +270,20 @@ autotools_do_configure() {
>                               bbnote Executing glib-gettextize --force --copy
>                               echo "no" | glib-gettextize --force --copy
>                       fi
> -             else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC 
> >/dev/null; then
> +             elif grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC 
> >/dev/null; then
>                       # We'd call gettextize here if it wasn't so broken...
> -                             cp 
> ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
> -                             if [ -d ${S}/po/ ]; then
> -                                     cp -f 
> ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
> -                                     if [ ! -e ${S}/po/remove-potcdate.sin 
> ]; then
> -                                             cp 
> ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sin ${S}/po/
> -                                     fi
> +                     cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath 
> ${AUTOTOOLS_AUXDIR}/
> +                     if [ -d ${S}/po/ ]; then
> +                             cp -f 
> ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
> +                             if [ ! -e ${S}/po/remove-potcdate.sin ]; then
> +                                     cp 
> ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sin ${S}/po/
>                               fi
> -                             for i in gettext.m4 iconv.m4 lib-ld.m4 
> lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4; do
> -                                     for j in `find ${S} 
> -ignore_readdir_race -name $i | grep -v aclocal-copy`; do
> -                                             rm $j
> -                                     done
> -                             done
>                       fi
> +                     for i in gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 
> lib-prefix.m4 nls.m4 po.m4 progtest.m4; do
> +                             for j in `find ${S} -ignore_readdir_race -name 
> $i | grep -v aclocal-copy`; do
> +                                     rm $j
> +                             done
> +                     done
>               fi
>               mkdir -p m4
>               if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC 
> >/dev/null; then
> @@ -290,7 +294,7 @@ autotools_do_configure() {
>               ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install 
> --force ${EXTRA_AUTORECONF} $acpaths || die "autoreconf execution failed."
>               cd $olddir
>       fi
> -     if [ -e ${S}/configure ]; then
> +     if [ -e ${CONFIGURE_SCRIPT} ]; then
>               oe_runconf
>       else
>               bbnote "nothing to configure"
> -- 
> 2.4.3
> 
> -- 
> Jens Rehsack - rehs...@gmail.com
> 

-- 
Jens Rehsack - rehs...@gmail.com

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to