diff options
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/autotools.bbclass | 7 | ||||
-rw-r--r-- | meta/classes/siteinfo.bbclass | 8 |
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 + " " |