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/libcxx_git.bb | |
| 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/libcxx_git.bb')
| -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" |
