]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake: [parser] Preserve include vs. require behaviour
authorRichard Purdie <rpurdie@linux.intel.com>
Fri, 12 Feb 2010 14:41:28 +0000 (14:41 +0000)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 15 Feb 2010 17:07:20 +0000 (17:07 +0000)
(Bitbake rev: 6073a5b8e4ca8af8e1a8e0234fad7b08baf76c99)

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/lib/bb/parse/ast.py

index b6dadd1e2a82d9081360f2f344211e6f422d0d7b..55bf847d1b4a85306cdb133461d67113c1a43df7 100644 (file)
@@ -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))