From 42ed1d8ac9799e41544c2da93069ecc6f86cbded Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 24 Jan 2017 13:18:12 +0000 Subject: gcc: Split builddir saving into its own sstate task When we stashed the gcc build directory for use in generating the various runtimes we were being lazy and just used the staging directory. With recipe specific sysroots this means we're copying a large chunk of data around with the cross compiler which we don't really need in most cases. Separate out the data into its own task and inject this into the configure step. We have to do that here since autotools will wipe out ${B} if it thinks we're rebuilding and we therefore have to time its recreation after that. This also takes the opportunity to remove some pointless (as far as I can tell) conditionals from the do_install code. (From OE-Core rev: dcf15ccf3cc9d55e77228ba8d526f967fc9791b4) Signed-off-by: Richard Purdie --- meta/recipes-devtools/gcc/gcc-common.inc | 10 ++++++++++ 1 file changed, 10 insertions(+) (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 d17ba29d1d..44e7c2891c 100644 --- a/meta/recipes-devtools/gcc/gcc-common.inc +++ b/meta/recipes-devtools/gcc/gcc-common.inc @@ -8,6 +8,16 @@ NATIVEDEPS = "" inherit autotools gettext texinfo BPN = "gcc" +COMPILERINITIAL = "" +COMPILERDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}gcc${COMPILERINITIAL}:do_gcc_stash_builddir" +COMPILERDEP_class-nativesdk = "virtual/${TARGET_PREFIX}gcc${COMPILERINITIAL}-crosssdk:do_gcc_stash_builddir" + +python extract_stashed_builddir () { + src = d.expand("${STAGING_DIR}-components/${BUILD_ARCH}/gcc-stashed-builddir${COMPILERINITIAL}-${TARGET_SYS}") + dest = d.getVar("B") + oe.path.copyhardlinktree(src, dest) + staging_processfixme([src + "/fixmepath"], dest, dest, dest, d) +} def get_gcc_float_setting(bb, d): if d.getVar('ARMPKGSFX_EABI') == "hf" and d.getVar('TRANSLATED_TARGET_ARCH') == "arm": -- cgit v1.2.3-54-g00ecf