]> code.ossystems Code Review - openembedded-core.git/commitdiff
gcc: Ensure c++ includes are in /usr/include/c++/${BINV}
authorRichard Tollerton <rich.tollerton@ni.com>
Thu, 3 Jul 2014 22:00:26 +0000 (17:00 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 10 Jul 2014 16:37:39 +0000 (17:37 +0100)
It was observed that code using STLport 4.6 fails to compile under the
SDK with the following error message:

.../includes/cstddef:38:46: fatal error: ../4.7.2/cstddef: No such file
or directory

STLport 4.6 (screwily) assumes that the C++ system headers live in a
gcc-versioned subdirectory, for gcc>=3.0; cf
http://sourceforge.net/p/stlport/code/ci/STLport-4.6-patch/tree/stlport/config/stl_gcc.h#l269.

This assumption is *almost always* valid, because that matches the
default setting of --with-gxx-include-dir. We can match that behavior by
appending "/${BINV}" to our own --with-gxx-include-dir settings.

Natinst-CAR-ID: 446449
Natinst-Reviewboard-ID: 57209
Acked-by: Ken Sharp <ken.sharp@ni.com>
Acked-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
meta/recipes-devtools/gcc/gcc-4.8.inc
meta/recipes-devtools/gcc/gcc-cross-canadian.inc
meta/recipes-devtools/gcc/gcc-cross.inc
meta/recipes-devtools/gcc/gcc-runtime.inc
meta/recipes-devtools/gcc/gcc-target.inc

index 9f2928b78ab33df135be65a861fc45d99e9014bc..2816f13a6ffbf98e2a992213747a9509e20da741 100644 (file)
@@ -115,7 +115,7 @@ EXTRA_OECONF_INTERMEDIATE = "--disable-libmudflap \
 EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float "
 
 EXTRA_OECONF_PATHS = " \ 
-                      --with-gxx-include-dir=${STAGING_DIR_TARGET}${target_includedir}/c++ \ 
+                      --with-gxx-include-dir=${STAGING_DIR_TARGET}${target_includedir}/c++/${BINV} \ 
                       --with-sysroot=${STAGING_DIR_TARGET} \ 
                       --with-build-sysroot=${STAGING_DIR_TARGET}"
 
index 63adae83862cefec239925712da267a20bdfccb0..f0a03a65196361da3cf8b77f0537ac8b93406396 100644 (file)
@@ -9,7 +9,7 @@ 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++ \
+EXTRA_OECONF_PATHS = "--with-gxx-include-dir=${SDKPATH}/sysroots/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}${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-build-sysroot=${STAGING_DIR_TARGET}"
index 0bf29e34d31461d180af95bba23d8746b8277785..cf3e5e891d8fab237cbf404bfa3b761eabf392e5 100644 (file)
@@ -21,7 +21,7 @@ EXTRA_OECONF += "--disable-libunwind-exceptions \
                  --with-system-zlib "
 
 EXTRA_OECONF_PATHS = " \
-                      --with-gxx-include-dir=${STAGING_DIR_TARGET}${target_includedir}/c++ \
+                      --with-gxx-include-dir=${STAGING_DIR_TARGET}${target_includedir}/c++/${BINV} \
                       --with-sysroot=${STAGING_DIR_TARGET} \
                       --with-build-sysroot=${STAGING_DIR_TARGET}"
 
index 70f9e0eb52b849ed95bea45ed50cf43841bfba7d..974c80c4d8661f9ffc676ec70468671a0f307548 100644 (file)
@@ -3,7 +3,7 @@ require gcc-configure-common.inc
 CXXFLAGS := "${@oe_filter_out('-fvisibility-inlines-hidden', '${CXXFLAGS}', d)}"
 
 EXTRA_OECONF_PATHS = " \
-    --with-gxx-include-dir=${includedir}/c++/ \
+    --with-gxx-include-dir=${includedir}/c++/${BINV} \
     --with-sysroot=${STAGING_DIR_TARGET} \
     --with-build-sysroot=${STAGING_DIR_TARGET}"
 
index de906d624155534828069366e6b60a36e277c25c..59c554daf57d6a0e48d716f3a25fcd042968a16e 100644 (file)
@@ -5,7 +5,7 @@ EXTRA_OECONF_PATHS = " \
     --with-sysroot=/ \
     --with-build-sysroot=${STAGING_DIR_TARGET} \
     --with-native-system-header-dir=${STAGING_DIR_TARGET}${target_includedir} \
-    --with-gxx-include-dir=${includedir}/c++/"
+    --with-gxx-include-dir=${includedir}/c++/${BINV}"
 
 EXTRA_OECONF_FPU = "${@get_gcc_fpu_setting(bb, d)}"