diff options
author | Richard Purdie <richard@openedhand.com> | 2007-08-20 07:48:43 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2007-08-20 07:48:43 +0000 |
commit | d8bfa5c6eff1cff34895304a33be671fb141084e (patch) | |
tree | 8f63f2cad401f42f5dd30930b0f042aa9c5bdaf8 /bitbake/lib/bb/parse | |
parent | e68823a20c6e3b629c947bc7e329e5ea71a9860c (diff) | |
download | openembedded-core-d8bfa5c6eff1cff34895304a33be671fb141084e.tar.gz openembedded-core-d8bfa5c6eff1cff34895304a33be671fb141084e.tar.bz2 openembedded-core-d8bfa5c6eff1cff34895304a33be671fb141084e.zip |
bitbake: Sync with 1.8.8 release
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2513 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'bitbake/lib/bb/parse')
-rw-r--r-- | bitbake/lib/bb/parse/parse_py/BBHandler.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py index aaa262d3e2..0f19f9a5d5 100644 --- a/bitbake/lib/bb/parse/parse_py/BBHandler.py +++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py @@ -176,15 +176,23 @@ def handle(fn, d, include = 0): if bb.event.register(var,handler) == bb.event.Registered: all_handlers[var] = handler + tasklist = {} for var in data.getVar('__BBTASKS', d) or []: + if var not in tasklist: + tasklist[var] = [] deps = data.getVarFlag(var, 'deps', d) or [] + for p in deps: + if p not in tasklist[var]: + tasklist[var].append(p) + postdeps = data.getVarFlag(var, 'postdeps', d) or [] - bb.build.add_task(var, deps, d) for p in postdeps: - pdeps = data.getVarFlag(p, 'deps', d) or [] - pdeps.append(var) - data.setVarFlag(p, 'deps', pdeps, d) - bb.build.add_task(p, pdeps, d) + if p not in tasklist: + tasklist[p] = [] + if var not in tasklist[p]: + tasklist[p].append(var) + + bb.build.add_tasks(tasklist, d) # now add the handlers if not len(all_handlers) == 0: |