summaryrefslogtreecommitdiffstats
path: root/lib/bb/parse/ast.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-04-10 10:50:16 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-06 15:28:46 +0100
commitddf498b487fae35a36c3cd095f110fa6da5ded40 (patch)
treeb6554f07a156be8879704512f15c32caf37a8efe /lib/bb/parse/ast.py
parentc3dd4fd5c9fe106f7fae8c088e75cfb70f20e107 (diff)
downloadbitbake-ddf498b487fae35a36c3cd095f110fa6da5ded40.tar.gz
bitbake/ast.py: Only run finalise() for the specified variant
Allows the heavy finalise function to only be run for the case we're interested in when running tasks, saving some processing time. (From Poky rev: 9211fd9c375489c73924fd43f1f8a0da2c4290bb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/parse/ast.py')
-rw-r--r--lib/bb/parse/ast.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/bb/parse/ast.py b/lib/bb/parse/ast.py
index b968db40b..375dc6163 100644
--- a/lib/bb/parse/ast.py
+++ b/lib/bb/parse/ast.py
@@ -369,10 +369,13 @@ def multi_finalize(fn, d):
logger.debug(2, "Appending .bbappend file %s to %s", append, fn)
bb.parse.BBHandler.handle(append, d, True)
+ onlyfinalise = d.getVar("__ONLYFINALISE", False)
+
safe_d = d
d = bb.data.createCopy(safe_d)
try:
- finalize(fn, d)
+ if not onlyfinalise or "default" in onlyfinalise:
+ finalize(fn, d)
except bb.parse.SkipPackage:
bb.data.setVar("__SKIPPED", True, d)
datastores = {"": safe_d}
@@ -434,7 +437,8 @@ def multi_finalize(fn, d):
for variant, variant_d in datastores.iteritems():
if variant:
try:
- finalize(fn, variant_d, variant)
+ if not onlyfinalise or variant in onlyfinalise:
+ finalize(fn, variant_d, variant)
except bb.parse.SkipPackage:
bb.data.setVar("__SKIPPED", True, variant_d)