summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/parse/ast.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/parse/ast.py')
-rw-r--r--bitbake/lib/bb/parse/ast.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index e0b795fa68..70a69b8d14 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -99,9 +99,15 @@ class DataNode(AstNode):
99 val = "%s%s" % (groupd["value"], (self.getFunc(key, data) or "")) 99 val = "%s%s" % (groupd["value"], (self.getFunc(key, data) or ""))
100 else: 100 else:
101 val = groupd["value"] 101 val = groupd["value"]
102
102 if 'flag' in groupd and groupd['flag'] != None: 103 if 'flag' in groupd and groupd['flag'] != None:
103 bb.msg.debug(3, bb.msg.domain.Parsing, "setVarFlag(%s, %s, %s, data)" % (key, groupd['flag'], val)) 104 bb.msg.debug(3, bb.msg.domain.Parsing, "setVarFlag(%s, %s, %s, data)" % (key, groupd['flag'], val))
104 bb.data.setVarFlag(key, groupd['flag'], val, data) 105 bb.data.setVarFlag(key, groupd['flag'], val, data)
106 elif groupd["lazyques"]:
107 assigned = bb.data.getVar("__lazy_assigned", data) or []
108 assigned.append(key)
109 bb.data.setVar("__lazy_assigned", assigned, data)
110 bb.data.setVarFlag(key, "defaultval", val, data)
105 else: 111 else:
106 bb.data.setVar(key, val, data) 112 bb.data.setVar(key, val, data)
107 113
@@ -286,6 +292,11 @@ def handleInherit(statements, m):
286 statements.append(InheritNode(m.group(1))) 292 statements.append(InheritNode(m.group(1)))
287 293
288def finalise(fn, d): 294def finalise(fn, d):
295 for lazykey in bb.data.getVar("__lazy_assigned", d) or ():
296 if bb.data.getVar(lazykey, d) is None:
297 val = bb.data.getVarFlag(lazykey, "defaultval", d)
298 bb.data.setVar(lazykey, val, d)
299
289 bb.data.expandKeys(d) 300 bb.data.expandKeys(d)
290 bb.data.update_data(d) 301 bb.data.update_data(d)
291 anonqueue = bb.data.getVar("__anonqueue", d, 1) or [] 302 anonqueue = bb.data.getVar("__anonqueue", d, 1) or []