diff options
author | Khem Raj <raj.khem@gmail.com> | 2019-07-31 17:08:37 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2019-08-12 22:00:22 -0700 |
commit | 34c98ae16d995a21e95f1af7f5535ee3b4cbed38 (patch) | |
tree | d78d1760884204a70bcb27d5d4ba069616cba749 /recipes-devtools/clang | |
parent | 410caea6379431d07939e0acabdc414bbdb86192 (diff) | |
download | meta-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.bb | 20 |
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 | |||
19 | PACKAGECONFIG ??= "unwind" | 19 | PACKAGECONFIG ??= "unwind" |
20 | PACKAGECONFIG_powerpc = "" | 20 | PACKAGECONFIG_powerpc = "" |
21 | PACKAGECONFIG_riscv64 = "" | 21 | PACKAGECONFIG_riscv64 = "" |
22 | PACKAGECONFIG_riscv32 = "" | ||
22 | PACKAGECONFIG[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 | PACKAGECONFIG[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 += "\ | |||
51 | EXTRA_OECMAKE_append_class-native = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF" | 53 | EXTRA_OECMAKE_append_class-native = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF" |
52 | EXTRA_OECMAKE_append_class-nativesdk = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF" | 54 | EXTRA_OECMAKE_append_class-nativesdk = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF" |
53 | EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " | 55 | EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " |
54 | 56 | EXTRA_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 | " | ||
61 | EXTRA_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 | " | ||
55 | do_compile() { | 66 | do_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() { | |||
70 | ALLOW_EMPTY_${PN} = "1" | 81 | ALLOW_EMPTY_${PN} = "1" |
71 | 82 | ||
72 | #PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs" | 83 | #PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs" |
73 | 84 | RPROVIDES_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}" | |
74 | RDEPENDS_${PN}-dev += "${PN}-staticdev" | 85 | RPROVIDES_${PN}-dev += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind-dev', '', d)}" |
86 | RPROVIDES_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind-doc', '', d)}" | ||
87 | RPROVIDES_${PN}-staticdev += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind-staticdev', '', d)}" | ||
88 | RPROVIDES_${PN}-locale += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind-locale', '', d)}" | ||
75 | 89 | ||
76 | BBCLASSEXTEND = "native nativesdk" | 90 | BBCLASSEXTEND = "native nativesdk" |
77 | TOOLCHAIN_forcevariable = "clang" | 91 | TOOLCHAIN_forcevariable = "clang" |