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: | |||
43 | self.tasks_fnid = [] | 43 | self.tasks_fnid = [] |
44 | self.tasks_name = [] | 44 | self.tasks_name = [] |
45 | self.tasks_tdepends = [] | 45 | self.tasks_tdepends = [] |
46 | self.tasks_idepends = [] | ||
46 | # Cache to speed up task ID lookups | 47 | # Cache to speed up task ID lookups |
47 | self.tasks_lookup = {} | 48 | self.tasks_lookup = {} |
48 | 49 | ||
@@ -108,6 +109,7 @@ class TaskData: | |||
108 | self.tasks_name.append(task) | 109 | self.tasks_name.append(task) |
109 | self.tasks_fnid.append(fnid) | 110 | self.tasks_fnid.append(fnid) |
110 | self.tasks_tdepends.append([]) | 111 | self.tasks_tdepends.append([]) |
112 | self.tasks_idepends.append([]) | ||
111 | 113 | ||
112 | listid = len(self.tasks_name) - 1 | 114 | listid = len(self.tasks_name) - 1 |
113 | 115 | ||
@@ -134,8 +136,9 @@ class TaskData: | |||
134 | if fnid in self.tasks_fnid: | 136 | if fnid in self.tasks_fnid: |
135 | return | 137 | return |
136 | 138 | ||
137 | # Work out task dependencies | ||
138 | for task in task_graph.allnodes(): | 139 | for task in task_graph.allnodes(): |
140 | |||
141 | # Work out task dependencies | ||
139 | parentids = [] | 142 | parentids = [] |
140 | for dep in task_graph.getparents(task): | 143 | for dep in task_graph.getparents(task): |
141 | parentid = self.gettask_id(fn, dep) | 144 | parentid = self.gettask_id(fn, dep) |
@@ -143,6 +146,14 @@ class TaskData: | |||
143 | taskid = self.gettask_id(fn, task) | 146 | taskid = self.gettask_id(fn, task) |
144 | self.tasks_tdepends[taskid].extend(parentids) | 147 | self.tasks_tdepends[taskid].extend(parentids) |
145 | 148 | ||
149 | # Touch all intertask dependencies | ||
150 | if 'depends' in task_deps and task in task_deps['depends']: | ||
151 | ids = [] | ||
152 | for dep in task_deps['depends'][task].split(" "): | ||
153 | if dep: | ||
154 | ids.append(str(self.getbuild_id(dep.split(":")[0])) + ":" + dep.split(":")[1]) | ||
155 | self.tasks_idepends[taskid].extend(ids) | ||
156 | |||
146 | # Work out build dependencies | 157 | # Work out build dependencies |
147 | if not fnid in self.depids: | 158 | if not fnid in self.depids: |
148 | dependids = {} | 159 | dependids = {} |