summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-08-15 17:59:56 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-08-17 10:23:01 +0100
commit266b848da40904446eb1d084bbdc5307a9b45197 (patch)
tree880c4d25acb1526f85e9a3ce1033d314727307bc
parent8181d96e0a4df0aa47287669681116fa65bcae16 (diff)
downloadbitbake-266b848da40904446eb1d084bbdc5307a9b45197.tar.gz
cache/ast: Move __VARIANTS handling to parse cache function
Simple refactoring to allow for multiconfig support. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/cache.py6
-rw-r--r--lib/bb/parse/ast.py4
2 files changed, 5 insertions, 5 deletions
diff --git a/lib/bb/cache.py b/lib/bb/cache.py
index c09f9296b..658f30ff5 100644
--- a/lib/bb/cache.py
+++ b/lib/bb/cache.py
@@ -401,14 +401,18 @@ class Cache(object):
infos = []
datastores = cls.load_bbfile(filename, appends, configdata)
depends = []
+ variants = []
+ # Process the "real" fn last so we can store variants list
for variant, data in sorted(datastores.items(),
key=lambda i: i[0],
reverse=True):
virtualfn = cls.realfn2virtual(filename, variant)
+ variants.append(variant)
depends = depends + (data.getVar("__depends", False) or [])
if depends and not variant:
data.setVar("__depends", depends)
-
+ if virtualfn == filename:
+ data.setVar("__VARIANTS", " ".join(variants))
info_array = []
for cache_class in caches_array:
info = cache_class(filename, data)
diff --git a/lib/bb/parse/ast.py b/lib/bb/parse/ast.py
index 8b9baa764..0fc3a9e7a 100644
--- a/lib/bb/parse/ast.py
+++ b/lib/bb/parse/ast.py
@@ -469,9 +469,5 @@ def multi_finalize(fn, d):
except bb.parse.SkipRecipe as e:
datastores[variant].setVar("__SKIPPED", e.args[0])
- if len(datastores) > 1:
- variants = filter(None, datastores.keys())
- safe_d.setVar("__VARIANTS", " ".join(variants))
-
datastores[""] = d
return datastores