summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/runqueue.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 212d297af4..cb4ffb21fb 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -376,6 +376,7 @@ class RunQueueData:
376 376
377 runq_build = [] 377 runq_build = []
378 recursivetasks = {} 378 recursivetasks = {}
379 recursivetasksselfref = set()
379 380
380 taskData = self.taskData 381 taskData = self.taskData
381 382
@@ -494,6 +495,8 @@ class RunQueueData:
494 recursivetasks[task] = tasknames 495 recursivetasks[task] = tasknames
495 add_build_dependencies(taskData.depids[fnid], tasknames, depends) 496 add_build_dependencies(taskData.depids[fnid], tasknames, depends)
496 add_runtime_dependencies(taskData.rdepids[fnid], tasknames, depends) 497 add_runtime_dependencies(taskData.rdepids[fnid], tasknames, depends)
498 if taskData.tasks_name[task] in tasknames:
499 recursivetasksselfref.add(task)
497 500
498 self.runq_fnid.append(taskData.tasks_fnid[task]) 501 self.runq_fnid.append(taskData.tasks_fnid[task])
499 self.runq_task.append(taskData.tasks_name[task]) 502 self.runq_task.append(taskData.tasks_name[task])
@@ -528,9 +531,8 @@ class RunQueueData:
528 generate_recdeps(task) 531 generate_recdeps(task)
529 532
530 # Remove circular references so that do_a[recrdeptask] = "do_a do_b" can work 533 # Remove circular references so that do_a[recrdeptask] = "do_a do_b" can work
531 recursivetaskset = set(recursivetasks.keys())
532 for task in recursivetasks: 534 for task in recursivetasks:
533 extradeps[task].difference_update(recursivetaskset) 535 extradeps[task].difference_update(recursivetasksselfref)
534 536
535 for task in xrange(len(taskData.tasks_name)): 537 for task in xrange(len(taskData.tasks_name)):
536 # Add in extra dependencies 538 # Add in extra dependencies