aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/autotools.bbclass7
-rw-r--r--meta/classes/siteinfo.bbclass8
2 files changed, 12 insertions, 3 deletions
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 402ee1bf01..046e83dc9b 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -27,7 +27,7 @@ inherit siteinfo
# Space separated list of shell scripts with variables defined to supply test
# results for autoconf tests we cannot run at build time.
-export CONFIG_SITE = "${@siteinfo_get_files(d)}"
+export CONFIG_SITE = "${@siteinfo_get_files(d, False)}"
acpaths = "default"
EXTRA_AUTORECONF = "--exclude=autopoint"
@@ -187,6 +187,7 @@ python autotools_copy_aclocals () {
#bb.warn(str(configuredeps2))
cp = []
+ siteconf = []
for c in configuredeps:
if c.endswith("-native"):
manifest = d.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}-%s.populate_sysroot" % c)
@@ -201,6 +202,8 @@ python autotools_copy_aclocals () {
for l in f:
if "/aclocal/" in l and l.strip().endswith(".m4"):
cp.append(l.strip())
+ elif "config_site.d/" in l:
+ cp.append(l.strip())
except:
bb.warn("%s not found" % manifest)
@@ -208,6 +211,8 @@ python autotools_copy_aclocals () {
t = os.path.join(aclocaldir, os.path.basename(c))
if not os.path.exists(t):
os.symlink(c, t)
+
+ d.setVar("CONFIG_SITE", siteinfo_get_files(d, False))
}
autotools_copy_aclocals[vardepsexclude] += "MACHINE SDK_ARCH BUILD_ARCH SDK_OS BB_TASKDEPDATA"
diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
index b41db46bc0..2c1f9d07fc 100644
--- a/meta/classes/siteinfo.bbclass
+++ b/meta/classes/siteinfo.bbclass
@@ -150,9 +150,13 @@ def siteinfo_get_files(d, no_cache = False):
if no_cache: return sitefiles
# Now check for siteconfig cache files
- path_siteconfig = d.getVar('SITECONFIG_SYSROOTCACHE', True)
- if os.path.isdir(path_siteconfig):
+ # Use the files copied to the aclocal cache generated by autotools.bbclass
+ # to avoid races
+ path_siteconfig = d.getVar('ACLOCALDIR', True)
+ if path_siteconfig and os.path.isdir(path_siteconfig):
for i in os.listdir(path_siteconfig):
+ if not i.endswith("_config"):
+ continue
filename = os.path.join(path_siteconfig, i)
sitefiles += filename + " "