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

View File

@@ -37,8 +37,16 @@ ${GNU_MIRROR}/gcc/ http://gcc.get-software.com/releases/ \n \
#
gcclibdir = "${libdir}/gcc"
BINV = "${PV}"
S = "${WORKDIR}/gcc-${PV}"
B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
#S = "${WORKDIR}/gcc-${PV}"
S = "${TMPDIR}/work-shared/gcc-${PV}"
B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
do_fetch[stamp-base] = "${TMPDIR}/stamps/work-shared/gcc-${PV}"
do_unpack[stamp-base] = "${TMPDIR}/stamps/work-shared/gcc-${PV}"
do_patch[stamp-base] = "${TMPDIR}/stamps/work-shared/gcc-${PV}"
WORKDIR_task-unpack = "${TMPDIR}/work-shared/"
WORKDIR_task-patch = "${TMPDIR}/work-shared/"
target_includedir ?= "${includedir}"
target_libdir ?= "${libdir}"