diff options
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 6 |
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 |