summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-16 07:36:42 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-17 14:11:04 +0100
commit66c9c01b2b14a973d6b97755a343760710312be9 (patch)
tree9fc671ef700aa54b7175ab8902153f4189f54cbb /bitbake
parent36b4fcde7a24ccefe0dabcbe5e8e6712187ff679 (diff)
downloadpoky-66c9c01b2b14a973d6b97755a343760710312be9.tar.gz
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>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/data.py2
-rw-r--r--bitbake/lib/bb/data_smart.py7
2 files changed, 8 insertions, 1 deletions
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py
index beaf089601..ecac66c6ba 100644
--- a/bitbake/lib/bb/data.py
+++ b/bitbake/lib/bb/data.py
@@ -342,7 +342,7 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d):
342def generate_dependencies(d): 342def generate_dependencies(d):
343 343
344 keys = set(key for key in d if not key.startswith("__")) 344 keys = set(key for key in d if not key.startswith("__"))
345 shelldeps = set(key for key in keys if d.getVarFlag(key, "export") and not d.getVarFlag(key, "unexport")) 345 shelldeps = set(key for key in d.getVar("__exportlist", False) if d.getVarFlag(key, "export") and not d.getVarFlag(key, "unexport"))
346 vardepvals = set(key for key in keys if d.getVarFlag(key, "vardepvalue")) 346 vardepvals = set(key for key in keys if d.getVarFlag(key, "vardepvalue"))
347 347
348 deps = {} 348 deps = {}
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index a6a4b6c8ae..1bb186e100 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -578,6 +578,13 @@ class DataSmart(MutableMapping):
578 if flag == "defaultval" and '_' in var: 578 if flag == "defaultval" and '_' in var:
579 self._setvar_update_overrides(var) 579 self._setvar_update_overrides(var)
580 580
581 if flag == "unexport" or flag == "export":
582 if not "__exportlist" in self.dict:
583 self._makeShadowCopy("__exportlist")
584 if not "_content" in self.dict["__exportlist"]:
585 self.dict["__exportlist"]["_content"] = set()
586 self.dict["__exportlist"]["_content"].add(var)
587
581 def getVarFlag(self, var, flag, expand=False, noweakdefault=False): 588 def getVarFlag(self, var, flag, expand=False, noweakdefault=False):
582 local_var = self._findVar(var) 589 local_var = self._findVar(var)
583 value = None 590 value = None