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-Tag: uninative-1.4~310 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=55115f90f909d27599c686852e73df321ad1edff;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] Signed-off-by: Juro Bystricky Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index 526be55f7b..9791e21434 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -82,6 +82,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";;