diff options
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
| -rw-r--r-- | bitbake/lib/bb/runqueue.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index ba9bebebcf..a43c9983a1 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
| @@ -602,6 +602,19 @@ class RunQueueData: | |||
| 602 | if t in taskData[mc].taskentries: | 602 | if t in taskData[mc].taskentries: |
| 603 | depends.add(t) | 603 | depends.add(t) |
| 604 | 604 | ||
| 605 | def add_mc_dependencies(mc, tid): | ||
| 606 | mcdeps = taskData[mc].get_mcdepends() | ||
| 607 | for dep in mcdeps: | ||
| 608 | mcdependency = dep.split(':') | ||
| 609 | pn = mcdependency[3] | ||
| 610 | frommc = mcdependency[1] | ||
| 611 | mcdep = mcdependency[2] | ||
| 612 | deptask = mcdependency[4] | ||
| 613 | if mc == frommc: | ||
| 614 | fn = taskData[mcdep].build_targets[pn][0] | ||
| 615 | newdep = '%s:%s' % (fn,deptask) | ||
| 616 | taskData[mc].taskentries[tid].tdepends.append(newdep) | ||
| 617 | |||
| 605 | for mc in taskData: | 618 | for mc in taskData: |
| 606 | for tid in taskData[mc].taskentries: | 619 | for tid in taskData[mc].taskentries: |
| 607 | 620 | ||
| @@ -618,12 +631,16 @@ class RunQueueData: | |||
| 618 | if fn in taskData[mc].failed_fns: | 631 | if fn in taskData[mc].failed_fns: |
| 619 | continue | 632 | continue |
| 620 | 633 | ||
| 634 | # We add multiconfig dependencies before processing internal task deps (tdepends) | ||
| 635 | if 'mcdepends' in task_deps and taskname in task_deps['mcdepends']: | ||
| 636 | add_mc_dependencies(mc, tid) | ||
| 637 | |||
| 621 | # Resolve task internal dependencies | 638 | # Resolve task internal dependencies |
| 622 | # | 639 | # |
| 623 | # e.g. addtask before X after Y | 640 | # e.g. addtask before X after Y |
| 624 | for t in taskData[mc].taskentries[tid].tdepends: | 641 | for t in taskData[mc].taskentries[tid].tdepends: |
| 625 | (_, depfn, deptaskname, _) = split_tid_mcfn(t) | 642 | (depmc, depfn, deptaskname, _) = split_tid_mcfn(t) |
| 626 | depends.add(build_tid(mc, depfn, deptaskname)) | 643 | depends.add(build_tid(depmc, depfn, deptaskname)) |
| 627 | 644 | ||
| 628 | # Resolve 'deptask' dependencies | 645 | # Resolve 'deptask' dependencies |
| 629 | # | 646 | # |
