summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-sanitizers.inc
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-24 13:18:12 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-26 10:41:08 +0000
commitdcf15ccf3cc9d55e77228ba8d526f967fc9791b4 (patch)
treefa20c9b2dee61d2f481846c5889eb40b94372374 /meta/recipes-devtools/gcc/gcc-sanitizers.inc
parent525bbfd08dacba84c92da0ab34310a85369526b7 (diff)
downloadopenembedded-core-contrib-dcf15ccf3cc9d55e77228ba8d526f967fc9791b4.tar.gz
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-sanitizers.inc')
-rw-r--r--meta/recipes-devtools/gcc/gcc-sanitizers.inc6
1 files changed, 2 insertions, 4 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index df4e297a489..ae3afe00b3d 100644
--- a/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -12,11 +12,7 @@ EXTRA_OECONF_PATHS = "\
"
do_configure () {
- mtarget=`echo ${TARGET_SYS} | sed -e s#-${SDKPKGSUFFIX}##`
target=`echo ${TARGET_SYS} | sed -e s#-${SDKPKGSUFFIX}##`
- if [ -d ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$mtarget ]; then
- hardlinkdir ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$mtarget ${B}
- fi
echo "Configuring libsanitizer"
rm -rf ${B}/$target/libsanitizer/
@@ -31,6 +27,8 @@ do_configure () {
# Link to the sysroot's libstdc++ instead of one gcc thinks it just built
sed -i -e '/LIBSTDCXX_RAW_CXX_\(CXXFLAGS\|LDFLAGS\)\s*=/d' ${B}/$target/libsanitizer/*/Makefile
}
+EXTRACONFFUNCS += "extract_stashed_builddir"
+do_configure[depends] += "${COMPILERDEP}"
do_compile () {
target=`echo ${TARGET_SYS} | sed -e s#-${SDKPKGSUFFIX}##`