summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-07-31 17:08:37 -0700
committerKhem Raj <raj.khem@gmail.com>2019-08-12 22:00:22 -0700
commit34c98ae16d995a21e95f1af7f5535ee3b4cbed38 (patch)
treed78d1760884204a70bcb27d5d4ba069616cba749 /recipes-devtools/clang
parent410caea6379431d07939e0acabdc414bbdb86192 (diff)
downloadmeta-clang-34c98ae16d995a21e95f1af7f5535ee3b4cbed38.tar.gz
libcxx: Provide libunwind and fix risv support
Use llvm libunwind as default for clang toolchain Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes-devtools/clang')
-rw-r--r--recipes-devtools/clang/libcxx_git.bb20
1 files changed, 17 insertions, 3 deletions
diff --git a/recipes-devtools/clang/libcxx_git.bb b/recipes-devtools/clang/libcxx_git.bb
index 76b1ea0..dafeccc 100644
--- a/recipes-devtools/clang/libcxx_git.bb
+++ b/recipes-devtools/clang/libcxx_git.bb
@@ -19,6 +19,7 @@ TUNE_CCARGS_remove_toolchain-clang = "--rtlib=compiler-rt --unwindlib=libunwind
19PACKAGECONFIG ??= "unwind" 19PACKAGECONFIG ??= "unwind"
20PACKAGECONFIG_powerpc = "" 20PACKAGECONFIG_powerpc = ""
21PACKAGECONFIG_riscv64 = "" 21PACKAGECONFIG_riscv64 = ""
22PACKAGECONFIG_riscv32 = ""
22PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBUNWIND_ENABLE_SHARED=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON -DLIBCXXABI_LIBUNWIND_INCLUDES=${S}/projects/libunwind/include, -DLIBCXXABI_USE_LLVM_UNWINDER=OFF," 23PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBUNWIND_ENABLE_SHARED=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON -DLIBCXXABI_LIBUNWIND_INCLUDES=${S}/projects/libunwind/include, -DLIBCXXABI_USE_LLVM_UNWINDER=OFF,"
23 24
24#PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}" 25#PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}"
@@ -37,6 +38,7 @@ EXTRA_OECMAKE += "\
37 -DLIBCXX_USE_COMPILER_RT=YES \ 38 -DLIBCXX_USE_COMPILER_RT=YES \
38 -DLIBCXXABI_USE_COMPILER_RT=YES \ 39 -DLIBCXXABI_USE_COMPILER_RT=YES \
39 -DCXX_SUPPORTS_CXX11=ON \ 40 -DCXX_SUPPORTS_CXX11=ON \
41 -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON \
40 -DLIBCXXABI_LIBCXX_INCLUDES=${S}/libcxx/include \ 42 -DLIBCXXABI_LIBCXX_INCLUDES=${S}/libcxx/include \
41 -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \ 43 -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \
42 -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib \ 44 -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib \
@@ -51,7 +53,16 @@ EXTRA_OECMAKE += "\
51EXTRA_OECMAKE_append_class-native = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF" 53EXTRA_OECMAKE_append_class-native = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF"
52EXTRA_OECMAKE_append_class-nativesdk = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF" 54EXTRA_OECMAKE_append_class-nativesdk = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF"
53EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " 55EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON "
54 56EXTRA_OECMAKE_append_riscv64 = " -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \
57 -DLIBCXX_ENABLE_EXCEPTIONS=ON \
58 -DLIBOMP_LIBFLAGS='-latomic' \
59 -DCMAKE_SHARED_LINKER_FLAGS='-lgcc_s -latomic' \
60 "
61EXTRA_OECMAKE_append_riscv32 = " -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \
62 -DLIBCXX_ENABLE_EXCEPTIONS=ON \
63 -DLIBOMP_LIBFLAGS='-latomic' \
64 -DCMAKE_SHARED_LINKER_FLAGS='-lgcc_s -latomic' \
65 "
55do_compile() { 66do_compile() {
56 if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then 67 if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then
57 ninja -v ${PARALLEL_MAKE} unwind 68 ninja -v ${PARALLEL_MAKE} unwind
@@ -70,8 +81,11 @@ do_install() {
70ALLOW_EMPTY_${PN} = "1" 81ALLOW_EMPTY_${PN} = "1"
71 82
72#PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs" 83#PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs"
73 84RPROVIDES_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}"
74RDEPENDS_${PN}-dev += "${PN}-staticdev" 85RPROVIDES_${PN}-dev += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind-dev', '', d)}"
86RPROVIDES_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind-doc', '', d)}"
87RPROVIDES_${PN}-staticdev += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind-staticdev', '', d)}"
88RPROVIDES_${PN}-locale += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind-locale', '', d)}"
75 89
76BBCLASSEXTEND = "native nativesdk" 90BBCLASSEXTEND = "native nativesdk"
77TOOLCHAIN_forcevariable = "clang" 91TOOLCHAIN_forcevariable = "clang"