]> code.ossystems Code Review - openembedded-core.git/commit
gcc-runtime, libgcc: Symlink c++ header and startup files in target_triplet for SDK use
authorKhem Raj <raj.khem@gmail.com>
Wed, 11 May 2016 17:35:45 +0000 (10:35 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 13 May 2016 12:40:53 +0000 (13:40 +0100)
commitfcaaabb401fffcda4db9a7d1f927a2a404e4776d
tree35f71d9d013f3022a7eda56f4733a60535959028
parent8f8aebc59df181071245cfeb6eb4a3efaf65c597
gcc-runtime, libgcc: Symlink c++ header and startup files 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>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/cross-canadian.bbclass
meta/recipes-devtools/gcc/gcc-runtime.inc
meta/recipes-devtools/gcc/libgcc.inc