50 lines
2.0 KiB
Diff
50 lines
2.0 KiB
Diff
From 0ef3d75514ee5a74b7c04ea36423cff97843fbb8 Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
Date: Tue, 10 May 2016 01:07:24 -0700
|
|
Subject: [PATCH] gcc-runtime: Symlink c++ header in target_triplet for SDK use
|
|
|
|
We build SDKs such that gcc-cross-candian is built for only one
|
|
target *-*-linux and then use -muclibc or -mmusl to let it compile
|
|
code for other libc variants. This works fine when libc = glibc
|
|
however it does not work for c++ programs when libc != glibc since
|
|
there are c++ headers installed under ${includedir}/c++/${BINV}/${TARGET_SYS}
|
|
which is fine when gcc-runtime and gcc-cross-candian uses same --target options
|
|
gxx includedir searches in right triplet, but it fails with musl/uclibc
|
|
since gcc will look for glibc based triplet but gcc-runtime will install
|
|
them under musl/uclibc triplet.
|
|
|
|
This patch symlinks the musl/uclibc triplet to glibc triplet when libc != glibc
|
|
|
|
This fixes SDKs for musl/uclibc
|
|
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
---
|
|
meta/recipes-devtools/gcc/gcc-runtime.inc | 6 ++++--
|
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
|
|
index 8639c1c..8e4d5eb 100644
|
|
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
|
|
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
|
|
@@ -70,13 +70,15 @@ do_install () {
|
|
if [ -d ${D}${infodir} ]; then
|
|
rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
|
|
fi
|
|
+}
|
|
+
|
|
+do_install_append_class-target () {
|
|
if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
|
|
ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
|
|
fi
|
|
- if [ "${TARGET_OS}" = "linux-gnuspe" ]; then
|
|
+ if [ "${TARGET_OS}" = "linux-gnuspe" -o "${TCLIBC}" != "glibc" ]; then
|
|
ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
|
|
fi
|
|
- chown -R root:root ${D}
|
|
}
|
|
|
|
INHIBIT_DEFAULT_DEPS = "1"
|
|
--
|
|
2.8.2
|
|
|