summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/taskdata.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/taskdata.py')
-rw-r--r--bitbake/lib/bb/taskdata.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py
index 39c899ebb7..6e4d149e5a 100644
--- a/bitbake/lib/bb/taskdata.py
+++ b/bitbake/lib/bb/taskdata.py
@@ -172,6 +172,8 @@ class TaskData:
172 if fnid in self.tasks_fnid: 172 if fnid in self.tasks_fnid:
173 return 173 return
174 174
175 self.add_extra_deps(fn, dataCache)
176
175 for task in task_deps['tasks']: 177 for task in task_deps['tasks']:
176 178
177 # Work out task dependencies 179 # Work out task dependencies
@@ -242,6 +244,21 @@ class TaskData:
242 self.fail_fnid(fnid) 244 self.fail_fnid(fnid)
243 return 245 return
244 246
247 def add_extra_deps(self, fn, dataCache):
248 func = dataCache.extradepsfunc.get(fn, None)
249 if func:
250 bb.providers.buildWorldTargetList(dataCache)
251 pn = dataCache.pkg_fn[fn]
252 params = {'deps': dataCache.deps[fn],
253 'world_target': dataCache.world_target,
254 'pkg_pn': dataCache.pkg_pn,
255 'self_pn': pn}
256 funcname = '_%s_calculate_extra_depends' % pn.replace('-', '_')
257 paramlist = ','.join(params.keys())
258 func = 'def %s(%s):\n%s\n\n%s(%s)' % (funcname, paramlist, func, funcname, paramlist)
259 bb.utils.better_exec(func, params)
260
261
245 def have_build_target(self, target): 262 def have_build_target(self, target):
246 """ 263 """
247 Have we a build target matching this name? 264 Have we a build target matching this name?