diff options
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r-- | bitbake/lib/bb/parse/ast.py | 11 | ||||
-rw-r--r-- | bitbake/lib/bb/parse/parse_py/ConfHandler.py | 2 |
2 files changed, 12 insertions, 1 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 | ||
288 | def finalise(fn, d): | 294 | def 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 [] |
diff --git a/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/bitbake/lib/bb/parse/parse_py/ConfHandler.py index a1eaf317ac..f4f85de245 100644 --- a/bitbake/lib/bb/parse/parse_py/ConfHandler.py +++ b/bitbake/lib/bb/parse/parse_py/ConfHandler.py | |||
@@ -28,7 +28,7 @@ import re, bb.data, os, sys | |||
28 | from bb.parse import ParseError, resolve_file, ast | 28 | from bb.parse import ParseError, resolve_file, ast |
29 | 29 | ||
30 | #__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}]+)\s*(?P<colon>:)?(?P<ques>\?)?=\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$") | 30 | #__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}]+)\s*(?P<colon>:)?(?P<ques>\?)?=\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$") |
31 | __config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}/]+)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|(?P<predot>=\.)|(?P<postdot>\.=)|=)\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$") | 31 | __config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}/]+)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<lazyques>\?\?=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|(?P<predot>=\.)|(?P<postdot>\.=)|=)\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$") |
32 | __include_regexp__ = re.compile( r"include\s+(.+)" ) | 32 | __include_regexp__ = re.compile( r"include\s+(.+)" ) |
33 | __require_regexp__ = re.compile( r"require\s+(.+)" ) | 33 | __require_regexp__ = re.compile( r"require\s+(.+)" ) |
34 | __export_regexp__ = re.compile( r"export\s+(.+)" ) | 34 | __export_regexp__ = re.compile( r"export\s+(.+)" ) |