summaryrefslogtreecommitdiffstats
path: root/lib/bb/data.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-16 07:54:58 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-17 14:09:38 +0100
commit8a59a8707cecbde257fca169775ce8ff7709928b (patch)
treee1902ea118767516c167d70562c88ea51fe6c8de /lib/bb/data.py
parent1bf3aee698ad35f6815ea2c75471a96511a29d55 (diff)
downloadbitbake-contrib-8a59a8707cecbde257fca169775ce8ff7709928b.tar.gz
data: Optimise flag exclusion list handling
Move the variable lookup to the outer loop for performance, replacing a now unneeded parameter (after the previous changes). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/data.py')
-rw-r--r--lib/bb/data.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/bb/data.py b/lib/bb/data.py
index 49bb5e997..349fcfe87 100644
--- a/lib/bb/data.py
+++ b/lib/bb/data.py
@@ -285,7 +285,7 @@ def update_data(d):
"""Performs final steps upon the datastore, including application of overrides"""
d.finalize(parent = True)
-def build_dependencies(key, keys, shelldeps, vardepvals, d):
+def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
deps = set()
try:
if key[-1] == ']':
@@ -324,7 +324,6 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d):
deps = deps | (keys & parser.execs)
# Add varflags, assuming an exclusion list is set
- varflagsexcl = d.getVar('BB_SIGNATURE_EXCLUDE_FLAGS', True)
if varflagsexcl:
varfdeps = []
for f in varflags:
@@ -345,14 +344,14 @@ def generate_dependencies(d):
keys = set(key for key in d if not key.startswith("__"))
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"))
+ varflagsexcl = d.getVar('BB_SIGNATURE_EXCLUDE_FLAGS', True)
deps = {}
values = {}
tasklist = d.getVar('__BBTASKS') or []
for task in tasklist:
- deps[task], values[task] = build_dependencies(task, keys, shelldeps, vardepvals, d)
+ deps[task], values[task] = build_dependencies(task, keys, shelldeps, varflagsexcl, d)
newdeps = deps[task]
seen = set()
while newdeps:
@@ -361,7 +360,7 @@ def generate_dependencies(d):
newdeps = set()
for dep in nextdeps:
if dep not in deps:
- deps[dep], values[dep] = build_dependencies(dep, keys, shelldeps, vardepvals, d)
+ deps[dep], values[dep] = build_dependencies(dep, keys, shelldeps, varflagsexcl, d)
newdeps |= deps[dep]
newdeps -= seen
#print "For %s: %s" % (task, str(deps[task]))