From 8f8facbed42afb186a92f314bf2f04c5858f0c3e Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 9 Aug 2011 18:51:44 +0100 Subject: gcc: Various fixups to ensure consistent gcc builds We ensure that: * the shared work directory contains PR and ensure PR values are consistent across gcc builds * the regexp to handle library directories is in a specific task and run once This avoids breakage that was seen in incremental builds after commit be1f70d68b6b75772ebab8bdff683ddd7c42b0cd where the interpretor could become corrupted. This was due to the sed expression corrupting the source directory. (From OE-Core rev: 970af6b09e1d69041b0d82fa56ace19543405eb1) Signed-off-by: Richard Purdie --- meta/recipes-devtools/gcc/gcc-common.inc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'meta/recipes-devtools/gcc/gcc-common.inc') diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc index 1684e78..52431fa 100644 --- a/meta/recipes-devtools/gcc/gcc-common.inc +++ b/meta/recipes-devtools/gcc/gcc-common.inc @@ -40,17 +40,18 @@ ${GNU_MIRROR}/gcc/ http://gcc.get-software.com/releases/ \n \ gcclibdir = "${libdir}/gcc" BINV = "${PV}" #S = "${WORKDIR}/gcc-${PV}" -S = "${TMPDIR}/work-shared/gcc-${PV}/gcc-${PV}" +S = "${TMPDIR}/work-shared/gcc-${PV}/gcc-${PV}-${PR}" B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" # SS means Shared Stamps directory -SS = "${TMPDIR}/stamps/work-shared/gcc-${PV}" +SS = "${TMPDIR}/stamps/work-shared/gcc-${PV}-${PR}" do_fetch[stamp-base] = "${SS}" do_unpack[stamp-base] = "${SS}" +do_headerfix[stamp-base] = "${SS}" do_patch[stamp-base] = "${SS}" # SW means Shared Work directory -SW = "${TMPDIR}/work-shared/gcc-${PV}" +SW = "${TMPDIR}/work-shared/gcc-${PV}-${PR}" WORKDIR_task-unpack = "${SW}" WORKDIR_task-patch = "${SW}" @@ -61,7 +62,7 @@ target_prefix ?= "${prefix}" CLEANFUNCS += "workshared_clean" # The do_clean should be exclusive since share ${S} -do_clean[lockfiles] = "${TMPDIR}/stamps/work-shared/gcc-${PV}.clean.lock" +do_clean[lockfiles] = "${SW}.clean.lock" python workshared_clean () { """clear the source directory""" -- cgit v1.1