diff options
Diffstat (limited to 'bitbake/lib/bb/build.py')
| -rw-r--r-- | bitbake/lib/bb/build.py | 52 | 
1 files changed, 29 insertions, 23 deletions
| diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index bcbc55eea..e9a6fc8c6 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/lib/bb/build.py @@ -397,35 +397,41 @@ def del_stamp(task, d, file_name = None):      """      stamp_internal(task, d, file_name) -def add_task(task, deps, d): +def add_tasks(tasklist, d):      task_graph = data.getVar('_task_graph', d) +    task_deps = data.getVar('_task_deps', d)      if not task_graph:          task_graph = bb.digraph() -    data.setVarFlag(task, 'task', 1, d) -    task_graph.addnode(task, None) -    for dep in deps: -        if not task_graph.hasnode(dep): -            task_graph.addnode(dep, None) -        task_graph.addnode(task, dep) -    # don't assume holding a reference -    data.setVar('_task_graph', task_graph, d) - -    task_deps = data.getVar('_task_deps', d)      if not task_deps:          task_deps = {} -    def getTask(name): -        deptask = data.getVarFlag(task, name, d) -        if deptask: -            deptask = data.expand(deptask, d) -            if not name in task_deps: -                task_deps[name] = {} -            task_deps[name][task] = deptask -    getTask('depends') -    getTask('deptask') -    getTask('rdeptask') -    getTask('recrdeptask') -    getTask('nostamp') +    for task in tasklist: +        deps = tasklist[task] +        task = data.expand(task, d) + +        data.setVarFlag(task, 'task', 1, d) +        task_graph.addnode(task, None) +        for dep in deps: +            dep = data.expand(dep, d) +            if not task_graph.hasnode(dep): +                task_graph.addnode(dep, None) +            task_graph.addnode(task, dep) + +        flags = data.getVarFlags(task, d)     +        def getTask(name): +            if name in flags: +                deptask = data.expand(flags[name], d) +                if not name in task_deps: +                    task_deps[name] = {} +                task_deps[name][task] = deptask +        getTask('depends') +        getTask('deptask') +        getTask('rdeptask') +        getTask('recrdeptask') +        getTask('nostamp') + +    # don't assume holding a reference +    data.setVar('_task_graph', task_graph, d)      data.setVar('_task_deps', task_deps, d)  def remove_task(task, kill, d): | 
