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 | # |