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