bitbake: data: Cache an list of export variables
Compute a cache of the list of potential export variables so that we don't have to compute the list from scratch. (Bitbake rev: f41f46f7eaa6889edeb3a4e4ddedc07084686c60) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
36b4fcde7a
commit
66c9c01b2b
|
@ -342,7 +342,7 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d):
|
||||||
def generate_dependencies(d):
|
def generate_dependencies(d):
|
||||||
|
|
||||||
keys = set(key for key in d if not key.startswith("__"))
|
keys = set(key for key in d if not key.startswith("__"))
|
||||||
shelldeps = set(key for key in keys if d.getVarFlag(key, "export") and not d.getVarFlag(key, "unexport"))
|
shelldeps = set(key for key in d.getVar("__exportlist", False) if d.getVarFlag(key, "export") and not d.getVarFlag(key, "unexport"))
|
||||||
vardepvals = set(key for key in keys if d.getVarFlag(key, "vardepvalue"))
|
vardepvals = set(key for key in keys if d.getVarFlag(key, "vardepvalue"))
|
||||||
|
|
||||||
deps = {}
|
deps = {}
|
||||||
|
|
|
@ -578,6 +578,13 @@ class DataSmart(MutableMapping):
|
||||||
if flag == "defaultval" and '_' in var:
|
if flag == "defaultval" and '_' in var:
|
||||||
self._setvar_update_overrides(var)
|
self._setvar_update_overrides(var)
|
||||||
|
|
||||||
|
if flag == "unexport" or flag == "export":
|
||||||
|
if not "__exportlist" in self.dict:
|
||||||
|
self._makeShadowCopy("__exportlist")
|
||||||
|
if not "_content" in self.dict["__exportlist"]:
|
||||||
|
self.dict["__exportlist"]["_content"] = set()
|
||||||
|
self.dict["__exportlist"]["_content"].add(var)
|
||||||
|
|
||||||
def getVarFlag(self, var, flag, expand=False, noweakdefault=False):
|
def getVarFlag(self, var, flag, expand=False, noweakdefault=False):
|
||||||
local_var = self._findVar(var)
|
local_var = self._findVar(var)
|
||||||
value = None
|
value = None
|
||||||
|
|
Loading…
Reference in New Issue