From: Richard Purdie Date: Fri, 24 Oct 2014 14:10:25 +0000 (+0100) Subject: gcc: poison default sysroot path X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~32172 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=04b725511a505c582a3abdf63d096967f0320779;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git gcc: poison default sysroot path Various pieces of the code assume that the --sysroot option gets passed into the compiler tools. By having a "sane" default, we don't always spot when this occurs and this can later show up as breakage in sstate, or in usage of the external toolchain. We've long since talked about poisoning the default such that it will break unless the correct option is specified. This patch does just that. If this patch causes something to fail to build, it most likely means the various compiler flags and commands are not correctly being passed through to the underlying piece of software and that there is a real problem that needs fixing, its not the fault of this patch. Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/gcc/gcc-4.9.inc b/meta/recipes-devtools/gcc/gcc-4.9.inc index 9a66cd294f9..c47f244180d 100644 --- a/meta/recipes-devtools/gcc/gcc-4.9.inc +++ b/meta/recipes-devtools/gcc/gcc-4.9.inc @@ -122,8 +122,8 @@ EXTRA_OECONF_INTERMEDIATE = "\ EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float " EXTRA_OECONF_PATHS = "\ - --with-gxx-include-dir=${STAGING_DIR_TARGET}${target_includedir}/c++/${BINV} \ - --with-sysroot=${STAGING_DIR_TARGET} \ + --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \ + --with-sysroot=/not/exist \ --with-build-sysroot=${STAGING_DIR_TARGET} \ " diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc index 0b1f37b908a..1a63f827226 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc +++ b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc @@ -10,9 +10,9 @@ GCCMULTILIB = "--enable-multilib" require gcc-configure-common.inc EXTRA_OECONF_PATHS = "\ - --with-gxx-include-dir=${SDKPATH}/sysroots/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}${target_includedir}/c++/${BINV} \ + --with-gxx-include-dir=/not/exist${target_includedir}/c++/${BINV} \ --with-build-time-tools=${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}/bin \ - --with-sysroot=${SDKPATH}/sysroots/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS} \ + --with-sysroot=/not/exist \ --with-build-sysroot=${STAGING_DIR_TARGET} \ " # We have to point gcc at a sysroot but we don't need to rebuild if this changes diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial.inc b/meta/recipes-devtools/gcc/gcc-cross-initial.inc index 6e2f25b562b..71974470807 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-initial.inc +++ b/meta/recipes-devtools/gcc/gcc-cross-initial.inc @@ -21,7 +21,7 @@ EXTRA_OECONF = "\ --enable-languages=c \ ${OPTSPACE} \ --program-prefix=${TARGET_PREFIX} \ - --with-sysroot=${STAGING_DIR_TARGET} \ + --with-sysroot=/not/exist \ --with-build-sysroot=${GCCCROSS_BUILDSYSROOT} \ ${EXTRA_OECONF_INITIAL} \ ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)} \ diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc index 4cdb55f3eef..9147acd1a8e 100644 --- a/meta/recipes-devtools/gcc/gcc-cross.inc +++ b/meta/recipes-devtools/gcc/gcc-cross.inc @@ -25,8 +25,8 @@ EXTRA_OECONF += "\ " EXTRA_OECONF_PATHS = "\ - --with-gxx-include-dir=${STAGING_DIR_TARGET}${target_includedir}/c++/${BINV} \ - --with-sysroot=${STAGING_DIR_TARGET} \ + --with-gxx-include-dir=/not/exist${target_includedir}/c++/${BINV} \ + --with-sysroot=/not/exist \ --with-build-sysroot=${STAGING_DIR_TARGET} \ " diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index 167869e1f2c..0348bc46077 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -4,7 +4,7 @@ CXXFLAGS := "${@oe_filter_out('-fvisibility-inlines-hidden', '${CXXFLAGS}', d)}" EXTRA_OECONF_PATHS = "\ --with-gxx-include-dir=${includedir}/c++/${BINV} \ - --with-sysroot=${STAGING_DIR_TARGET} \ + --with-sysroot=/not/exist \ --with-build-sysroot=${STAGING_DIR_TARGET} \ " diff --git a/meta/recipes-devtools/gcc/libgfortran.inc b/meta/recipes-devtools/gcc/libgfortran.inc index cf7942f41d5..e42843d2f11 100644 --- a/meta/recipes-devtools/gcc/libgfortran.inc +++ b/meta/recipes-devtools/gcc/libgfortran.inc @@ -1,7 +1,7 @@ require gcc-configure-common.inc EXTRA_OECONF_PATHS = "\ - --with-sysroot=${STAGING_DIR_TARGET} \ + --with-sysroot=/not/exist \ --with-build-sysroot=${STAGING_DIR_TARGET} \ "