diff options
author | Chris Larson <chris_larson@mentor.com> | 2011-01-07 08:51:43 -0700 |
---|---|---|
committer | Chris Larson <chris_larson@mentor.com> | 2011-01-07 10:58:11 -0500 |
commit | d93bd42e8a6f66bf7a7a638d98e5e06ccd5a2c33 (patch) | |
tree | 914de98748b9040bbf0634788252e119325bc139 /lib/bb/parse/ast.py | |
parent | 96ee6840010c1ae1080e6bf7ff0f4eb2d361e84b (diff) | |
parent | 315b83d1de954e51d0d077ff00140a7ec41ffbc7 (diff) | |
download | bitbake-d93bd42e8a6f66bf7a7a638d98e5e06ccd5a2c33.tar.gz |
Merge branch 'poky-sync'
* poky-sync:
build: kill unneeded environment setup bits
parse: save python functions into the metadata
Include exported variables in task process env
runqueue: start implementing quieterrors
Overhaul environment handling
runqueue: resurrect use of file objects for pipein/pipeout
runqueue: clean up message log levels
runqueue: use correct task ID when checking validity of setscene tasks
Add support for 'noexec' tasks
runqueue: implement cache checking from metadata
runqueue: pass task hash information to tasks
runqueue: avoid unnecessary delays
Implement task signatures
data: Add emit_func and generate_dependencies
codeparser: Implement persistent cache
data_smart: track variable references
codeparser: add module for parsing shell/python
runqueue: implement scenequeue
fetch: add SRC_URI checksum
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Diffstat (limited to 'lib/bb/parse/ast.py')
-rw-r--r-- | lib/bb/parse/ast.py | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/lib/bb/parse/ast.py b/lib/bb/parse/ast.py index 860f98b1b..8fffe1e8f 100644 --- a/lib/bb/parse/ast.py +++ b/lib/bb/parse/ast.py @@ -142,8 +142,9 @@ class MethodNode(AstNode): bb.data.setVar(self.func_name, '\n'.join(self.body), data) class PythonMethodNode(AstNode): - def __init__(self, filename, lineno, define, body): + def __init__(self, filename, lineno, function, define, body): AstNode.__init__(self, filename, lineno) + self.function = function self.define = define self.body = body @@ -151,9 +152,12 @@ class PythonMethodNode(AstNode): # Note we will add root to parsedmethods after having parse # 'this' file. This means we will not parse methods from # bb classes twice + text = '\n'.join(self.body) if not bb.methodpool.parsed_module(self.define): - text = '\n'.join(self.body) bb.methodpool.insert_method(self.define, text, self.filename) + bb.data.setVarFlag(self.function, "func", 1, data) + bb.data.setVarFlag(self.function, "python", 1, data) + bb.data.setVar(self.function, text, data) class MethodFlagsNode(AstNode): def __init__(self, filename, lineno, key, m): @@ -280,8 +284,8 @@ def handleData(statements, filename, lineno, groupd): def handleMethod(statements, filename, lineno, func_name, body): statements.append(MethodNode(filename, lineno, func_name, body)) -def handlePythonMethod(statements, filename, lineno, root, body): - statements.append(PythonMethodNode(filename, lineno, root, body)) +def handlePythonMethod(statements, filename, lineno, funcname, root, body): + statements.append(PythonMethodNode(filename, lineno, funcname, root, body)) def handleMethodFlags(statements, filename, lineno, key, m): statements.append(MethodFlagsNode(filename, lineno, key, m)) @@ -305,7 +309,7 @@ def handleInherit(statements, filename, lineno, m): classes = m.group(1) statements.append(InheritNode(filename, lineno, classes.split())) -def finalize(fn, d): +def finalize(fn, d, variant = None): for lazykey in bb.data.getVar("__lazy_assigned", d) or (): if bb.data.getVar(lazykey, d) is None: val = bb.data.getVarFlag(lazykey, "defaultval", d) @@ -328,6 +332,8 @@ def finalize(fn, d): tasklist = bb.data.getVar('__BBTASKS', d) or [] bb.build.add_tasks(tasklist, d) + bb.parse.siggen.finalise(fn, d, variant) + bb.event.fire(bb.event.RecipeParsed(fn), d) def _create_variants(datastores, names, function): @@ -436,7 +442,7 @@ def multi_finalize(fn, d): for variant, variant_d in datastores.iteritems(): if variant: try: - finalize(fn, variant_d) + finalize(fn, variant_d, variant) except bb.parse.SkipPackage: bb.data.setVar("__SKIPPED", True, variant_d) |