From: Juro Bystricky Date: Mon, 29 Aug 2016 22:45:36 +0000 (-0700) Subject: gcc-runtime.inc: add CPP support for mips64-n32 tune X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=fe61e95a3368d0bc0e66958d0e703b1e3c40c9bb;p=openembedded-core.git gcc-runtime.inc: add CPP support for mips64-n32 tune This patch fixes the problem where the CPP compiler cannot find include files. The compiler is configured to look for the files in places that do not exist. When querying the CPP for search paths, we observe messages such as these: multilib configuration: MACHINE="qemumips64" require conf/multilib.conf MULTILIBS = "multilib:lib64 multilib:lib32" DEFAULTTUNE = "mips64-n32" DEFAULTTUNE_virtclass-multilib-lib64 = "mips64" DEFAULTTUNE_virtclass-multilib-lib32 = "mips32r2" ignoring nonexistent directory "/sysroots/mips64-n32-poky-linux-gnun32/usr/include/c++/6.2.0/mips64-poky-linux/32 single lib configuration: MACHINE="qemumips64" DEFAULTTUNE = "mips64-n32" ignoring nonexistent directory "/sysroots/mips64-n32-poky-linux-gnun32/usr/include/c++/6.2.0/mips64-poky-linux/ To fix this, create a symlink of the name CPP expects and point it to the corresponding "gnun32" directory. [YOCTO#10142] (From OE-Core rev: 55115f90f909d27599c686852e73df321ad1edff) Signed-off-by: Juro Bystricky Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index 99f50f8066..fd624e2711 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -80,6 +80,16 @@ do_install_append_class-target () { if [ "${TARGET_OS}" = "linux-gnuspe" ]; then ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux fi + + if [ "${TARGET_OS}" = "linux-gnun32" ]; then + if [ "${MULTILIBS}" != "" ]; then + mkdir ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-pokymllib64-linux + ln -s ../${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}-pokymllib64-linux/32 + else + ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux + fi + fi + if [ "${TCLIBC}" != "glibc" ]; then case "${TARGET_OS}" in "linux-musl" | "linux-uclibc" | "linux-*spe") extra_target_os="linux";;