diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-05-31 14:06:24 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-06-04 11:50:01 +0100 |
commit | a5a08543c8cec43d993b2bba0ad6a9357c0a5e04 (patch) | |
tree | 36def372d741decc1015e187a0b0c2bc57392b69 /meta/classes | |
parent | dc8ad21502549b33b4c59c31df66d15d2f656df7 (diff) | |
download | openembedded-core-a5a08543c8cec43d993b2bba0ad6a9357c0a5e04.tar.gz openembedded-core-a5a08543c8cec43d993b2bba0ad6a9357c0a5e04.tar.bz2 openembedded-core-a5a08543c8cec43d993b2bba0ad6a9357c0a5e04.zip |
autotools.bbclass: Factor out aclocal copying function
Some recipes may need to manually call the aclocal copying
functionality so factor this out into a function.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/autotools.bbclass | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass index b19a871827..66c0f5d10a 100644 --- a/meta/classes/autotools.bbclass +++ b/meta/classes/autotools.bbclass @@ -127,6 +127,26 @@ EXTRACONFFUNCS ??= "" do_configure[prefuncs] += "autotools_preconfigure ${EXTRACONFFUNCS}" do_configure[postfuncs] += "autotools_postconfigure" +ACLOCALDIR = "${B}/aclocal-copy" + +autotools_copy_aclocal () { + # Remove any previous copy of the m4 macros + rm -rf ${ACLOCALDIR}/ + + # The aclocal directory could get modified by other processes + # uninstalling data from the sysroot. See Yocto #861 for details. + # We avoid this by taking a copy here and then files cannot disappear. + # We copy native first, then target. This avoids certain races since cp-noerror + # won't overwrite existing files. + mkdir -p ${ACLOCALDIR}/ + if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then + cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/ + fi + if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then + cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/ + fi +} + autotools_do_configure() { # WARNING: gross hack follows: # An autotools built package generally needs these scripts, however only @@ -142,9 +162,8 @@ autotools_do_configure() { if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then olddir=`pwd` cd ${S} - # Remove any previous copy of the m4 macros - rm -rf ${B}/aclocal-copy/ - ACLOCAL="aclocal --system-acdir=${B}/aclocal-copy/" + autotools_copy_aclocal + ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" if [ x"${acpaths}" = xdefault ]; then acpaths= for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \ @@ -160,18 +179,6 @@ autotools_do_configure() { if [ -d ${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV ]; then ACLOCAL="$ACLOCAL --automake-acdir=${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV" fi - # The aclocal directory could get modified by other processes - # uninstalling data from the sysroot. See Yocto #861 for details. - # We avoid this by taking a copy here and then files cannot disappear. - # We copy native first, then target. This avoids certain races since cp-noerror - # won't overwrite existing files. - mkdir -p ${B}/aclocal-copy/ - if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then - cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${B}/aclocal-copy/ - fi - if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then - cp-noerror ${STAGING_DATADIR}/aclocal/ ${B}/aclocal-copy/ - fi # 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. |