From: Richard Purdie Date: Mon, 15 Aug 2016 16:59:56 +0000 (+0100) Subject: cache/ast: Move __VARIANTS handling to parse cache function X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=266b848da40904446eb1d084bbdc5307a9b45197;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git cache/ast: Move __VARIANTS handling to parse cache function Simple refactoring to allow for multiconfig support. Signed-off-by: Richard Purdie --- diff --git a/lib/bb/cache.py b/lib/bb/cache.py index c09f9296bd7..658f30ff59e 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 8b9baa764cb..0fc3a9e7a4d 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