diff options
author | Khem Raj <raj.khem@gmail.com> | 2025-05-08 12:13:17 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-05-12 22:01:56 +0100 |
commit | 1cae6faf9d8f62a88e331503cec808fc6535fdcb (patch) | |
tree | 4df642206638d1125575b27b51e618ce3c37a45a | |
parent | 77c0cff6a7ba8b5ce26cbb0f569bf3b0c164443d (diff) | |
download | poky-1cae6faf9d8f62a88e331503cec808fc6535fdcb.tar.gz |
libcxx: Fix cflags and ldflags for using compiler runtime
-stdlib is needed in both cxxflags and ldflags since c++ compiler
will use these to chose the right c++ headers and libraries during link
-rtlib and -unwindlib are only needed during linking
Use LLVM_HOST_TRIPLE during cross compiling compiler-rt for target
this is used by cmake to compute target and compiler triples
Fix LLVM_RUNTIME_TARGETS to use HOST_ARCH, it does not need cross
compile triple which HOST_SYS is passing here
(From OE-Core rev: d1ae4087c548a78e90687b64764f621b070e3ec5)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/clang/libcxx_git.bb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/meta/recipes-devtools/clang/libcxx_git.bb b/meta/recipes-devtools/clang/libcxx_git.bb index f5987199ec..c99617c228 100644 --- a/meta/recipes-devtools/clang/libcxx_git.bb +++ b/meta/recipes-devtools/clang/libcxx_git.bb | |||
@@ -51,8 +51,8 @@ CC = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | |||
51 | CXX = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | 51 | CXX = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" |
52 | BUILD_CC = "${CCACHE}clang ${BUILD_CC_ARCH}" | 52 | BUILD_CC = "${CCACHE}clang ${BUILD_CC_ARCH}" |
53 | BUILD_CXX = "${CCACHE}clang++ ${BUILD_CC_ARCH}" | 53 | BUILD_CXX = "${CCACHE}clang++ ${BUILD_CC_ARCH}" |
54 | CFLAGS += "${COMPILER_RT}" | 54 | LDFLAGS += "${COMPILER_RT} ${UNWINDLIB} ${LIBCPLUSPLUS}" |
55 | CXXFLAGS += "${COMPILER_RT} ${LIBCPLUSPLUS}" | 55 | CXXFLAGS += "${LIBCPLUSPLUS}" |
56 | 56 | ||
57 | OECMAKE_SOURCEPATH = "${S}/llvm" | 57 | OECMAKE_SOURCEPATH = "${S}/llvm" |
58 | EXTRA_OECMAKE += "\ | 58 | EXTRA_OECMAKE += "\ |
@@ -71,7 +71,7 @@ EXTRA_OECMAKE += "\ | |||
71 | -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib${LLVM_LIBDIR_SUFFIX} \ | 71 | -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib${LLVM_LIBDIR_SUFFIX} \ |
72 | -S ${S}/runtimes \ | 72 | -S ${S}/runtimes \ |
73 | -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind' \ | 73 | -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind' \ |
74 | -DLLVM_RUNTIME_TARGETS=${HOST_SYS} \ | 74 | -DLLVM_RUNTIME_TARGETS=${HOST_ARCH} \ |
75 | -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ | 75 | -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ |
76 | -DLLVM_APPEND_VC_REV=OFF \ | 76 | -DLLVM_APPEND_VC_REV=OFF \ |
77 | -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ | 77 | -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ |
@@ -81,7 +81,7 @@ EXTRA_OECMAKE:append:class-target = " \ | |||
81 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ | 81 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ |
82 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ | 82 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ |
83 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ | 83 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ |
84 | -DLLVM_DEFAULT_TARGET_TRIPLE=${HOST_SYS} \ | 84 | -DLLVM_HOST_TRIPLE=${TARGET_SYS} \ |
85 | -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ | 85 | -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ |
86 | " | 86 | " |
87 | 87 | ||