summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/parse
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/parse')
-rw-r--r--bitbake/lib/bb/parse/ast.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index b6dadd1e2a..55bf847d1b 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -40,10 +40,11 @@ class StatementGroup:
40 map(lambda x: x.eval(data), self.statements) 40 map(lambda x: x.eval(data), self.statements)
41 41
42class IncludeNode: 42class IncludeNode:
43 def __init__(self, what_file, fn, lineno): 43 def __init__(self, what_file, fn, lineno, force):
44 self.what_file = what_file 44 self.what_file = what_file
45 self.from_fn = fn 45 self.from_fn = fn
46 self.from_lineno = lineno 46 self.from_lineno = lineno
47 self.force = force
47 48
48 def eval(self, data): 49 def eval(self, data):
49 """ 50 """
@@ -54,7 +55,10 @@ class IncludeNode:
54 55
55 # TODO: Cache those includes... 56 # TODO: Cache those includes...
56 statements = StatementGroup() 57 statements = StatementGroup()
57 bb.parse.ConfHandler.include(statements, self.from_fn, s, data, False) 58 if force:
59 bb.parse.ConfHandler.include(statements, self.from_fn, s, data, "include required")
60 else:
61 bb.parse.ConfHandler.include(statements, self.from_fn, s, data, False)
58 statements.eval(data) 62 statements.eval(data)
59 63
60class ExportNode: 64class ExportNode:
@@ -107,7 +111,7 @@ class DataNode:
107 111
108def handleInclude(statements, m, fn, lineno, data, force): 112def handleInclude(statements, m, fn, lineno, data, force):
109 # AST handling 113 # AST handling
110 statements.append(IncludeNode(m.group(1), fn, lineno)) 114 statements.append(IncludeNode(m.group(1), fn, lineno, force))
111 115
112 s = bb.data.expand(m.group(1), data) 116 s = bb.data.expand(m.group(1), data)
113 bb.msg.debug(3, bb.msg.domain.Parsing, "CONF %s:%d: including %s" % (fn, lineno, s)) 117 bb.msg.debug(3, bb.msg.domain.Parsing, "CONF %s:%d: including %s" % (fn, lineno, s))