diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-09-16 07:36:42 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-09-17 14:11:04 +0100 |
commit | 66c9c01b2b14a973d6b97755a343760710312be9 (patch) | |
tree | 9fc671ef700aa54b7175ab8902153f4189f54cbb /bitbake/lib | |
parent | 36b4fcde7a24ccefe0dabcbe5e8e6712187ff679 (diff) | |
download | poky-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/lib')
-rw-r--r-- | bitbake/lib/bb/data.py | 2 | ||||
-rw-r--r-- | bitbake/lib/bb/data_smart.py | 7 |
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): | |||
342 | def generate_dependencies(d): | 342 | def 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 |