diff options
author | Khem Raj <raj.khem@gmail.com> | 2025-03-10 13:19:25 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2025-03-21 21:30:56 -0700 |
commit | 6da0abaa33b458a37b97f42e3755245e3220bf27 (patch) | |
tree | 932bacaefb03eb15371a9f02aab2fbdc8e61fb81 /classes/clang.bbclass | |
parent | fb4b4faf76d28ee00f6962936a0d6f24ada77f8e (diff) | |
download | meta-clang-6da0abaa33b458a37b97f42e3755245e3220bf27.tar.gz |
clang.bbclass,compiler-rt: Do not set -target for native clang
When building native recipes using clang as native compiler e.g.
compiler-rt-native, setting -target can be out of sync with the
underlying distro's understanding of gcc tuple e.g. aarch64-linux
or aarch64-linux-gnu, which is used by distros to house the gcc
runtime e.g. on ubuntu
/usr/lib/gcc/aarch64-linux-gnu/11
/usr/lib/gcc/aarch64-linux-gnu/9
if we provide -target its not able to deduce it from the build host
which is required for native packages
try with
recipe-sysroot-native/usr/bin/clang -xc /dev/null -rtlib=libgcc --unwindlib=libgcc -stdlib=libstdc++ -v
or
recipe-sysroot-native/usr/bin/clang -xc /dev/null -rtlib=libgcc --unwindlib=libgcc -stdlib=libstdc++ -target aarch64-linux -v
to see the difference
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'classes/clang.bbclass')
-rw-r--r-- | classes/clang.bbclass | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass index e9571ce..0671ef6 100644 --- a/classes/clang.bbclass +++ b/classes/clang.bbclass | |||
@@ -1,6 +1,7 @@ | |||
1 | # Add the necessary override | 1 | # Add the necessary override |
2 | CCACHE_COMPILERCHECK:toolchain-clang ?= "%compiler% -v" | 2 | CCACHE_COMPILERCHECK:toolchain-clang ?= "%compiler% -v" |
3 | HOST_CC_ARCH:prepend:toolchain-clang = "-target ${HOST_SYS} " | 3 | HOST_CC_ARCH:prepend:toolchain-clang:class-target = "-target ${HOST_SYS} " |
4 | HOST_CC_ARCH:prepend:toolchain-clang:class-nativesdk = "-target ${HOST_SYS} " | ||
4 | CC:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | 5 | CC:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" |
5 | CXX:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | 6 | CXX:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" |
6 | CPP:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E" | 7 | CPP:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E" |