summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/build.py
diff options
context:
space:
mode:
authorDongxiao Xu <dongxiao.xu@intel.com>2011-01-18 16:18:18 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-18 12:50:04 +0000
commit80cf3e405c923ed95dd09936739e816dbdd92299 (patch)
tree62082943bf06a2df18722b911bf93dea05e43bfe /bitbake/lib/bb/build.py
parent740ea68258282c459b66bbed550e6347fb8e83a3 (diff)
downloadpoky-80cf3e405c923ed95dd09936739e816dbdd92299.tar.gz
bitbake: Introduce stamp-extra-info task flag into stamp filenames
For certain tasks, we need additional information in build stamp file other than the task name and file name. stamp-extra-info is introduced as a task flag which is appended to the stamp file name. [Code simplifcations/tweaks from Richard] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/build.py')
-rw-r--r--bitbake/lib/bb/build.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 722639f3bb..e723c7ea85 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -386,14 +386,16 @@ def stamp_internal(taskname, d, file_name):
386 """ 386 """
387 if file_name: 387 if file_name:
388 stamp = d.stamp[file_name] 388 stamp = d.stamp[file_name]
389 extrainfo = d.stamp_extrainfo[file_name].get(taskname) or ""
389 else: 390 else:
390 stamp = d.getVar('STAMP', True) 391 stamp = d.getVar('STAMP', True)
391 file_name = d.getVar('BB_FILENAME', True) 392 file_name = d.getVar('BB_FILENAME', True)
393 extrainfo = d.getVarFlag(taskname, 'stamp-extra-info', True) or ""
392 394
393 if not stamp: 395 if not stamp:
394 return 396 return
395 397
396 stamp = bb.parse.siggen.stampfile(stamp, file_name, taskname) 398 stamp = bb.parse.siggen.stampfile(stamp, file_name, taskname, extrainfo)
397 399
398 bb.utils.mkdirhier(os.path.dirname(stamp)) 400 bb.utils.mkdirhier(os.path.dirname(stamp))
399 401
@@ -420,8 +422,12 @@ def del_stamp(task, d, file_name = None):
420 stamp = stamp_internal(task, d, file_name) 422 stamp = stamp_internal(task, d, file_name)
421 bb.utils.remove(stamp) 423 bb.utils.remove(stamp)
422 424
423def stampfile(taskname, d): 425def stampfile(taskname, d, file_name = None):
424 return stamp_internal(taskname, d, None) 426 """
427 Return the stamp for a given task
428 (d can be a data dict or dataCache)
429 """
430 return stamp_internal(taskname, d, file_name)
425 431
426def add_tasks(tasklist, d): 432def add_tasks(tasklist, d):
427 task_deps = data.getVar('_task_deps', d) 433 task_deps = data.getVar('_task_deps', d)