diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-common.inc')
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-common.inc | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc index a3fa234422..7bf036cd86 100644 --- a/meta/recipes-devtools/gcc/gcc-common.inc +++ b/meta/recipes-devtools/gcc/gcc-common.inc @@ -37,10 +37,38 @@ ${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}/gcc-${PV}" +B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" + +# SS means Shared Stamps directory +SS = "${TMPDIR}/stamps/work-shared/gcc-${PV}" +do_fetch[stamp-base] = "${SS}" +do_unpack[stamp-base] = "${SS}" +do_patch[stamp-base] = "${SS}" + +# SW means Shared Work directory +SW = "${TMPDIR}/work-shared/gcc-${PV}" +WORKDIR_task-unpack = "${SW}" +WORKDIR_task-patch = "${SW}" target_includedir ?= "${includedir}" target_libdir ?= "${libdir}" target_base_libdir ?= "${base_libdir}" 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" + +python workshared_clean () { + """clear the source directory""" + dir = bb.data.expand("${SW}", d) + bb.note("Removing " + dir) + oe.path.remove(dir) + + """clear the the stamps in work-shared""" + dir = "%s.*" % bb.data.expand(d.getVarFlag('do_fetch', 'stamp-base', True), d) + bb.note("Removing " + dir) + oe.path.remove(dir) +} |
