summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc
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 /meta/recipes-devtools/gcc
parentafd28598368963dc49bfd02ef2d6f54218d663ae (diff)
downloadast2050-yocto-poky-12b163dbd81cafafec1ebe3c4039c65af60ee261.zip
ast2050-yocto-poky-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 'meta/recipes-devtools/gcc')
-rw-r--r--meta/recipes-devtools/gcc/gcc-common.inc12
1 files changed, 10 insertions, 2 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc
index a3fa234..4d37833 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -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}"
OpenPOWER on IntegriCloud