diff options
author | Khem Raj <raj.khem@gmail.com> | 2021-05-23 13:22:05 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2021-06-08 11:37:54 -0700 |
commit | 78acb4ae02352d543b0343b2dba411dc521acd0a (patch) | |
tree | 8a63f2dee9078726df0633b7390e0eee4ee502ef | |
parent | c5c59a9a6a80bb54067ed1400f814fcfc3f428aa (diff) | |
download | meta-clang-78acb4ae02352d543b0343b2dba411dc521acd0a.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>
-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 80eaa78..38e3555 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 \ |
@@ -70,4 +68,3 @@ ALLOW_EMPTY_${PN} = "1" | |||
70 | 68 | ||
71 | BBCLASSEXTEND = "native nativesdk" | 69 | BBCLASSEXTEND = "native nativesdk" |
72 | TOOLCHAIN = "clang" | 70 | TOOLCHAIN = "clang" |
73 | |||