summaryrefslogtreecommitdiff
path: root/bitbake/lib/bb/parse
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-02-12 14:41:28 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2010-02-15 17:07:20 +0000
commit269d4d58a924ba34b0f4cfa8bc9dce948a79e2ef (patch)
tree1400d4fc5a29b09a9a077a323aaecdeec8699c1c /bitbake/lib/bb/parse
parent71a19386a36931c2e8cd882bb19c33ace60e4398 (diff)
downloadopenembedded-core-269d4d58a924ba34b0f4cfa8bc9dce948a79e2ef.tar.gz
openembedded-core-269d4d58a924ba34b0f4cfa8bc9dce948a79e2ef.tar.bz2
openembedded-core-269d4d58a924ba34b0f4cfa8bc9dce948a79e2ef.zip
bitbake: [parser] Preserve include vs. require behaviour
(Bitbake rev: 6073a5b8e4ca8af8e1a8e0234fad7b08baf76c99) Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
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:
map(lambda x: x.eval(data), self.statements)
class IncludeNode:
- def __init__(self, what_file, fn, lineno):
+ def __init__(self, what_file, fn, lineno, force):
self.what_file = what_file
self.from_fn = fn
self.from_lineno = lineno
+ self.force = force
def eval(self, data):
"""
@@ -54,7 +55,10 @@ class IncludeNode:
# TODO: Cache those includes...
statements = StatementGroup()
- bb.parse.ConfHandler.include(statements, self.from_fn, s, data, False)
+ if force:
+ bb.parse.ConfHandler.include(statements, self.from_fn, s, data, "include required")
+ else:
+ bb.parse.ConfHandler.include(statements, self.from_fn, s, data, False)
statements.eval(data)
class ExportNode:
@@ -107,7 +111,7 @@ class DataNode:
def handleInclude(statements, m, fn, lineno, data, force):
# AST handling
- statements.append(IncludeNode(m.group(1), fn, lineno))
+ statements.append(IncludeNode(m.group(1), fn, lineno, force))
s = bb.data.expand(m.group(1), data)
bb.msg.debug(3, bb.msg.domain.Parsing, "CONF %s:%d: including %s" % (fn, lineno, s))