summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cache.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-03-28 15:09:50 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-03-28 15:09:50 +0100
commit12b163dbd81cafafec1ebe3c4039c65af60ee261 (patch)
treebb4b0aed62393b27c05d2a977b256be67c42be58 /bitbake/lib/bb/cache.py
parentafd28598368963dc49bfd02ef2d6f54218d663ae (diff)
downloadpoky-12b163dbd81cafafec1ebe3c4039c65af60ee261.tar.gz
bitbake/gcc: Enable a shared common source tree
This patch is a quick proof of concept to show how source code could be shared between recipes which use ${B} to have a separate build directory compared to source directory ${S}. Issues: a) gcc uses sed and creates config files against ${S} which means the directory should not be shared. Need to change the way that works. b) Could be extended to cover eglibc except there is a patch applied against nativesdk versions which again makes the source incompatible. c) Need to clean up the layout in work-shared and make a directory level deeper to ensure patch separation. d) clean task does not remove stamps Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cache.py')
-rw-r--r--bitbake/lib/bb/cache.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index c56b4b4248..4e76857e6f 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -55,6 +55,7 @@ recipe_fields = (
55 'provides', 55 'provides',
56 'task_deps', 56 'task_deps',
57 'stamp', 57 'stamp',
58 'stamp_base',
58 'stamp_extrainfo', 59 'stamp_extrainfo',
59 'broken', 60 'broken',
60 'not_world', 61 'not_world',
@@ -160,6 +161,7 @@ class RecipeInfo(namedtuple('RecipeInfo', recipe_fields)):
160 broken = cls.getvar('BROKEN', metadata), 161 broken = cls.getvar('BROKEN', metadata),
161 not_world = cls.getvar('EXCLUDE_FROM_WORLD', metadata), 162 not_world = cls.getvar('EXCLUDE_FROM_WORLD', metadata),
162 stamp = cls.getvar('STAMP', metadata), 163 stamp = cls.getvar('STAMP', metadata),
164 stamp_base = cls.flaglist('stamp-base', tasks, metadata),
163 stamp_extrainfo = cls.flaglist('stamp-extra-info', tasks, metadata), 165 stamp_extrainfo = cls.flaglist('stamp-extra-info', tasks, metadata),
164 packages_dynamic = cls.listvar('PACKAGES_DYNAMIC', metadata), 166 packages_dynamic = cls.listvar('PACKAGES_DYNAMIC', metadata),
165 depends = cls.depvar('DEPENDS', metadata), 167 depends = cls.depvar('DEPENDS', metadata),
@@ -579,6 +581,7 @@ class CacheData(object):
579 self.task_queues = {} 581 self.task_queues = {}
580 self.task_deps = {} 582 self.task_deps = {}
581 self.stamp = {} 583 self.stamp = {}
584 self.stamp_base = {}
582 self.stamp_extrainfo = {} 585 self.stamp_extrainfo = {}
583 self.preferred = {} 586 self.preferred = {}
584 self.tasks = {} 587 self.tasks = {}
@@ -604,6 +607,7 @@ class CacheData(object):
604 self.pkg_pepvpr[fn] = (info.pe, info.pv, info.pr) 607 self.pkg_pepvpr[fn] = (info.pe, info.pv, info.pr)
605 self.pkg_dp[fn] = info.defaultpref 608 self.pkg_dp[fn] = info.defaultpref
606 self.stamp[fn] = info.stamp 609 self.stamp[fn] = info.stamp
610 self.stamp_base[fn] = info.stamp_base
607 self.stamp_extrainfo[fn] = info.stamp_extrainfo 611 self.stamp_extrainfo[fn] = info.stamp_extrainfo
608 612
609 provides = [info.pn] 613 provides = [info.pn]