1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-30 12:29:55 +00:00

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>
This commit is contained in:
Richard Purdie
2011-03-28 15:09:50 +01:00
parent afd2859836
commit 12b163dbd8
4 changed files with 24 additions and 4 deletions
+4
View File
@@ -55,6 +55,7 @@ recipe_fields = (
'provides',
'task_deps',
'stamp',
'stamp_base',
'stamp_extrainfo',
'broken',
'not_world',
@@ -160,6 +161,7 @@ class RecipeInfo(namedtuple('RecipeInfo', recipe_fields)):
broken = cls.getvar('BROKEN', metadata),
not_world = cls.getvar('EXCLUDE_FROM_WORLD', metadata),
stamp = cls.getvar('STAMP', metadata),
stamp_base = cls.flaglist('stamp-base', tasks, metadata),
stamp_extrainfo = cls.flaglist('stamp-extra-info', tasks, metadata),
packages_dynamic = cls.listvar('PACKAGES_DYNAMIC', metadata),
depends = cls.depvar('DEPENDS', metadata),
@@ -579,6 +581,7 @@ class CacheData(object):
self.task_queues = {}
self.task_deps = {}
self.stamp = {}
self.stamp_base = {}
self.stamp_extrainfo = {}
self.preferred = {}
self.tasks = {}
@@ -604,6 +607,7 @@ class CacheData(object):
self.pkg_pepvpr[fn] = (info.pe, info.pv, info.pr)
self.pkg_dp[fn] = info.defaultpref
self.stamp[fn] = info.stamp
self.stamp_base[fn] = info.stamp_base
self.stamp_extrainfo[fn] = info.stamp_extrainfo
provides = [info.pn]