bitbake: 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). (Bitbake rev: 8a59a8707cecbde257fca169775ce8ff7709928b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
9a32eca022
commit
d15652d78c
|
@ -285,7 +285,7 @@ def update_data(d):
|
||||||
"""Performs final steps upon the datastore, including application of overrides"""
|
"""Performs final steps upon the datastore, including application of overrides"""
|
||||||
d.finalize(parent = True)
|
d.finalize(parent = True)
|
||||||
|
|
||||||
def build_dependencies(key, keys, shelldeps, vardepvals, d):
|
def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
|
||||||
deps = set()
|
deps = set()
|
||||||
try:
|
try:
|
||||||
if key[-1] == ']':
|
if key[-1] == ']':
|
||||||
|
@ -324,7 +324,6 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d):
|
||||||
deps = deps | (keys & parser.execs)
|
deps = deps | (keys & parser.execs)
|
||||||
|
|
||||||
# Add varflags, assuming an exclusion list is set
|
# Add varflags, assuming an exclusion list is set
|
||||||
varflagsexcl = d.getVar('BB_SIGNATURE_EXCLUDE_FLAGS', True)
|
|
||||||
if varflagsexcl:
|
if varflagsexcl:
|
||||||
varfdeps = []
|
varfdeps = []
|
||||||
for f in varflags:
|
for f in varflags:
|
||||||
|
@ -345,14 +344,14 @@ 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 d.getVar("__exportlist", False) 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"))
|
varflagsexcl = d.getVar('BB_SIGNATURE_EXCLUDE_FLAGS', True)
|
||||||
|
|
||||||
deps = {}
|
deps = {}
|
||||||
values = {}
|
values = {}
|
||||||
|
|
||||||
tasklist = d.getVar('__BBTASKS') or []
|
tasklist = d.getVar('__BBTASKS') or []
|
||||||
for task in tasklist:
|
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]
|
newdeps = deps[task]
|
||||||
seen = set()
|
seen = set()
|
||||||
while newdeps:
|
while newdeps:
|
||||||
|
@ -361,7 +360,7 @@ def generate_dependencies(d):
|
||||||
newdeps = set()
|
newdeps = set()
|
||||||
for dep in nextdeps:
|
for dep in nextdeps:
|
||||||
if dep not in deps:
|
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 |= deps[dep]
|
||||||
newdeps -= seen
|
newdeps -= seen
|
||||||
#print "For %s: %s" % (task, str(deps[task]))
|
#print "For %s: %s" % (task, str(deps[task]))
|
||||||
|
|
Loading…
Reference in New Issue