diff options
Diffstat (limited to 'bitbake/lib/bb/taskdata.py')
-rw-r--r-- | bitbake/lib/bb/taskdata.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py index 17d6d95530..3d3adfdbda 100644 --- a/bitbake/lib/bb/taskdata.py +++ b/bitbake/lib/bb/taskdata.py @@ -43,6 +43,7 @@ class TaskData: self.tasks_fnid = [] self.tasks_name = [] self.tasks_tdepends = [] + self.tasks_idepends = [] # Cache to speed up task ID lookups self.tasks_lookup = {} @@ -108,6 +109,7 @@ class TaskData: self.tasks_name.append(task) self.tasks_fnid.append(fnid) self.tasks_tdepends.append([]) + self.tasks_idepends.append([]) listid = len(self.tasks_name) - 1 @@ -134,8 +136,9 @@ class TaskData: if fnid in self.tasks_fnid: return - # Work out task dependencies for task in task_graph.allnodes(): + + # Work out task dependencies parentids = [] for dep in task_graph.getparents(task): parentid = self.gettask_id(fn, dep) @@ -143,6 +146,14 @@ class TaskData: taskid = self.gettask_id(fn, task) self.tasks_tdepends[taskid].extend(parentids) + # Touch all intertask dependencies + if 'depends' in task_deps and task in task_deps['depends']: + ids = [] + for dep in task_deps['depends'][task].split(" "): + if dep: + ids.append(str(self.getbuild_id(dep.split(":")[0])) + ":" + dep.split(":")[1]) + self.tasks_idepends[taskid].extend(ids) + # Work out build dependencies if not fnid in self.depids: dependids = {} |