diff options
author | Khem Raj <raj.khem@gmail.com> | 2021-05-23 13:22:05 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2023-09-08 09:08:54 -0700 |
commit | 1ac51a62619d0704ab351124643841107da724b6 (patch) | |
tree | cb82077cf2fb0370e05b3cffea382318945cd0e2 | |
parent | a47b3ddbdea0e80ee0708ce70149721f59808392 (diff) | |
download | meta-clang-1ac51a62619d0704ab351124643841107da724b6.tar.gz |
libcxx: Build libunwind shared lib when enabled
Use compile-rt consistently across when building libc++ and libc++abi
and libunwind
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 78acb4ae02352d543b0343b2dba411dc521acd0a)
-rw-r--r-- | recipes-devtools/clang/libcxx_git.bb | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/recipes-devtools/clang/libcxx_git.bb b/recipes-devtools/clang/libcxx_git.bb index 280f8de..d19839d 100644 --- a/recipes-devtools/clang/libcxx_git.bb +++ b/recipes-devtools/clang/libcxx_git.bb | |||
@@ -10,20 +10,20 @@ require common-source.inc | |||
10 | 10 | ||
11 | inherit cmake python3native | 11 | inherit cmake python3native |
12 | 12 | ||
13 | PACKAGECONFIG ??= "compiler-rt exceptions ${@bb.utils.contains("RUNTIME", "llvm", "unwind", "", d)}" | 13 | PACKAGECONFIG ??= "compiler-rt exceptions ${@bb.utils.contains("RUNTIME", "llvm", "unwind unwind-shared", "", d)}" |
14 | PACKAGECONFIG_append_armv5 = " no-atomics" | 14 | PACKAGECONFIG_append_armv5 = " no-atomics" |
15 | 15 | ||
16 | PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY=ON -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=ON,-DLIBCXXABI_USE_LLVM_UNWINDER=OFF,," | 16 | PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON,-DLIBCXXABI_USE_LLVM_UNWINDER=OFF,," |
17 | PACKAGECONFIG[exceptions] = "-DLIBCXXABI_ENABLE_EXCEPTIONS=ON -DDLIBCXX_ENABLE_EXCEPTIONS=ON,-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF -DLIBCXX_ENABLE_EXCEPTIONS=OFF -DCMAKE_REQUIRED_FLAGS='-fno-exceptions'," | 17 | PACKAGECONFIG[exceptions] = "-DLIBCXXABI_ENABLE_EXCEPTIONS=ON -DDLIBCXX_ENABLE_EXCEPTIONS=ON,-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF -DLIBCXX_ENABLE_EXCEPTIONS=OFF -DCMAKE_REQUIRED_FLAGS='-fno-exceptions'," |
18 | PACKAGECONFIG[no-atomics] = "-D_LIBCXXABI_HAS_ATOMIC_BUILTINS=OFF -DCMAKE_SHARED_LINKER_FLAGS='-latomic',," | 18 | PACKAGECONFIG[no-atomics] = "-D_LIBCXXABI_HAS_ATOMIC_BUILTINS=OFF -DCMAKE_SHARED_LINKER_FLAGS='-latomic',," |
19 | PACKAGECONFIG[compiler-rt] = ",,compiler-rt" | 19 | PACKAGECONFIG[compiler-rt] = "-DLIBCXX_USE_COMPILER_RT=ON -DLIBCXXABI_USE_COMPILER_RT=ON -DLIBUNWIND_USE_COMPILER_RT=ON,,compiler-rt" |
20 | PACKAGECONFIG[unwind-shared] = "-DLIBUNWIND_ENABLE_SHARED=ON,-DLIBUNWIND_ENABLE_SHARED=OFF,," | ||
20 | 21 | ||
21 | DEPENDS += "ninja-native" | 22 | DEPENDS += "ninja-native" |
22 | DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${TARGET_PREFIX}compilerlibs" | 23 | DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${TARGET_PREFIX}compilerlibs" |
23 | 24 | ||
24 | LIBCPLUSPLUS = "" | 25 | LIBCPLUSPLUS = "" |
25 | COMPILER_RT ?= "${@bb.utils.contains("PACKAGECONFIG", "compiler-rt", "-rtlib=compiler-rt", "", d)} ${UNWINDLIB}" | 26 | COMPILER_RT ?= "-rtlib=compiler-rt" |
26 | UNWINDLIB ?= "${@bb.utils.contains("RUNTIME", "gnu", "--unwindlib=libgcc", "", d)}" | ||
27 | 27 | ||
28 | INHIBIT_DEFAULT_DEPS = "1" | 28 | INHIBIT_DEFAULT_DEPS = "1" |
29 | 29 | ||
@@ -35,15 +35,13 @@ LIC_FILES_CHKSUM = "file://libcxx/LICENSE.TXT;md5=55d89dd7eec8d3b4204b680e27da39 | |||
35 | LLVM_LIBDIR_SUFFIX_powerpc64 = "64" | 35 | LLVM_LIBDIR_SUFFIX_powerpc64 = "64" |
36 | 36 | ||
37 | OECMAKE_TARGET_COMPILE = "cxxabi cxx" | 37 | OECMAKE_TARGET_COMPILE = "cxxabi cxx" |
38 | OECMAKE_TARGET_INSTALL = "install-cxx install-cxxabi" | 38 | OECMAKE_TARGET_INSTALL = "install-cxx install-cxxabi ${@bb.utils.contains("RUNTIME", "llvm", "install-unwind", "", d)}" |
39 | |||
39 | OECMAKE_SOURCEPATH = "${S}/llvm" | 40 | OECMAKE_SOURCEPATH = "${S}/llvm" |
40 | EXTRA_OECMAKE += "\ | 41 | EXTRA_OECMAKE += "\ |
41 | -DCMAKE_CROSSCOMPILING=ON \ | 42 | -DCMAKE_CROSSCOMPILING=ON \ |
42 | -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ | 43 | -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ |
43 | -DLLVM_ENABLE_RTTI=ON \ | 44 | -DLLVM_ENABLE_RTTI=ON \ |
44 | -DLIBUNWIND_ENABLE_SHARED=OFF \ | ||
45 | -DLIBUNWIND_ENABLE_THREADS=OFF \ | ||
46 | -DLIBUNWIND_WEAK_PTHREAD_LIB=ON \ | ||
47 | -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON \ | 45 | -DLIBUNWIND_ENABLE_CROSS_UNWINDING=ON \ |
48 | -DLIBCXXABI_INCLUDE_TESTS=OFF \ | 46 | -DLIBCXXABI_INCLUDE_TESTS=OFF \ |
49 | -DLIBCXXABI_ENABLE_SHARED=ON \ | 47 | -DLIBCXXABI_ENABLE_SHARED=ON \ |
@@ -77,4 +75,3 @@ ALLOW_EMPTY_${PN} = "1" | |||
77 | 75 | ||
78 | BBCLASSEXTEND = "native nativesdk" | 76 | BBCLASSEXTEND = "native nativesdk" |
79 | TOOLCHAIN = "clang" | 77 | TOOLCHAIN = "clang" |
80 | |||