diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-02-12 14:41:28 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-02-12 17:59:14 +0000 |
commit | 6073a5b8e4ca8af8e1a8e0234fad7b08baf76c99 (patch) | |
tree | 363f76aabb22e739328b1e8a3c304b4254330f54 | |
parent | 47c8c2a0605a7de16170a25851ee13081f82a20d (diff) | |
download | bitbake-6073a5b8e4ca8af8e1a8e0234fad7b08baf76c99.tar.gz |
[parser] Preserve include vs. require behaviour
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r-- | lib/bb/parse/ast.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/bb/parse/ast.py b/lib/bb/parse/ast.py index b6dadd1e2..55bf847d1 100644 --- a/lib/bb/parse/ast.py +++ b/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)) |