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. (From OE-Core rev: a5a08543c8cec43d993b2bba0ad6a9357c0a5e04) 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>
This commit is contained in:
parent
96edb2002a
commit
1808552a86
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue