summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-07-30 23:00:33 -0700
committerKhem Raj <raj.khem@gmail.com>2019-08-12 22:00:22 -0700
commit2fa4342ab4cb20872eb97d2b844e0367b1fad90d (patch)
tree81d43426d2c6934bfc021dc180f655a153618896
parenta932d6024a3500dd518176a8bb98fbb8ec9695c7 (diff)
downloadmeta-clang-2fa4342ab4cb20872eb97d2b844e0367b1fad90d.tar.gz
libcxx,compiler-rt: Add --unwindlib=libunwind to COMPILER_RT
This is new way of enabling llvm unwinder as default unwinder now build shared libunwind which is needed for new option Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--classes/clang.bbclass2
-rw-r--r--recipes-devtools/clang/compiler-rt_git.bb2
-rw-r--r--recipes-devtools/clang/libcxx_git.bb5
3 files changed, 4 insertions, 5 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass
index d6a4e9b..93d3581 100644
--- a/classes/clang.bbclass
+++ b/classes/clang.bbclass
@@ -8,7 +8,7 @@ RANLIB_toolchain-clang = "${HOST_PREFIX}llvm-ranlib"
8AR_toolchain-clang = "${HOST_PREFIX}llvm-ar" 8AR_toolchain-clang = "${HOST_PREFIX}llvm-ar"
9NM_toolchain-clang = "${HOST_PREFIX}llvm-nm" 9NM_toolchain-clang = "${HOST_PREFIX}llvm-nm"
10 10
11COMPILER_RT ??= "--rtlib=compiler-rt" 11COMPILER_RT ??= "--rtlib=compiler-rt --unwindlib=libunwind"
12LIBCPLUSPLUS ??= "--stdlib=libc++" 12LIBCPLUSPLUS ??= "--stdlib=libc++"
13 13
14COMPILER_RT_toolchain-gcc = "" 14COMPILER_RT_toolchain-gcc = ""
diff --git a/recipes-devtools/clang/compiler-rt_git.bb b/recipes-devtools/clang/compiler-rt_git.bb
index ff8d353..172d5cc 100644
--- a/recipes-devtools/clang/compiler-rt_git.bb
+++ b/recipes-devtools/clang/compiler-rt_git.bb
@@ -16,7 +16,7 @@ LIC_FILES_CHKSUM = "file://compiler-rt/LICENSE.TXT;md5=d846d1d65baf322d4c485d6ee
16BASEDEPENDS_remove_toolchain-clang_class-target = "compiler-rt libcxx" 16BASEDEPENDS_remove_toolchain-clang_class-target = "compiler-rt libcxx"
17DEPENDS_append_toolchain-clang_class-target = " virtual/${TARGET_PREFIX}compilerlibs" 17DEPENDS_append_toolchain-clang_class-target = " virtual/${TARGET_PREFIX}compilerlibs"
18TARGET_CXXFLAGS_remove_toolchain-clang = "--stdlib=libc++" 18TARGET_CXXFLAGS_remove_toolchain-clang = "--stdlib=libc++"
19TUNE_CCARGS_remove_toolchain-clang = "--rtlib=compiler-rt --stdlib=libc++" 19TUNE_CCARGS_remove_toolchain-clang = "--rtlib=compiler-rt --unwindlib=libunwind --stdlib=libc++"
20TUNE_CCARGS_remove = "-no-integrated-as" 20TUNE_CCARGS_remove = "-no-integrated-as"
21DEPENDS += "ninja-native" 21DEPENDS += "ninja-native"
22DEPENDS_append_class-nativesdk = " clang-native" 22DEPENDS_append_class-nativesdk = " clang-native"
diff --git a/recipes-devtools/clang/libcxx_git.bb b/recipes-devtools/clang/libcxx_git.bb
index c115da0..76b1ea0 100644
--- a/recipes-devtools/clang/libcxx_git.bb
+++ b/recipes-devtools/clang/libcxx_git.bb
@@ -14,12 +14,12 @@ DEPENDS += "ninja-native"
14BASEDEPENDS_remove_toolchain-clang = "libcxx" 14BASEDEPENDS_remove_toolchain-clang = "libcxx"
15DEPENDS_append_toolchain-clang = " virtual/${TARGET_PREFIX}compilerlibs" 15DEPENDS_append_toolchain-clang = " virtual/${TARGET_PREFIX}compilerlibs"
16TARGET_CXXFLAGS_remove_toolchain-clang = "--stdlib=libc++" 16TARGET_CXXFLAGS_remove_toolchain-clang = "--stdlib=libc++"
17TUNE_CCARGS_remove_toolchain-clang = "--rtlib=compiler-rt --stdlib=libc++" 17TUNE_CCARGS_remove_toolchain-clang = "--rtlib=compiler-rt --unwindlib=libunwind --stdlib=libc++"
18 18
19PACKAGECONFIG ??= "unwind" 19PACKAGECONFIG ??= "unwind"
20PACKAGECONFIG_powerpc = "" 20PACKAGECONFIG_powerpc = ""
21PACKAGECONFIG_riscv64 = "" 21PACKAGECONFIG_riscv64 = ""
22PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBUNWIND_ENABLE_SHARED=OFF -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON -DLIBCXXABI_LIBUNWIND_INCLUDES=${S}/projects/libunwind/include, -DLIBCXXABI_USE_LLVM_UNWINDER=OFF," 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,"
23 23
24#PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}" 24#PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}"
25LIBUNWIND = "${@bb.utils.contains('PACKAGECONFIG', 'unwind', ';libunwind', '', d)}" 25LIBUNWIND = "${@bb.utils.contains('PACKAGECONFIG', 'unwind', ';libunwind', '', d)}"
@@ -63,7 +63,6 @@ do_compile() {
63do_install() { 63do_install() {
64 if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then 64 if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then
65 DESTDIR=${D} ninja ${PARALLEL_MAKE} install-unwind 65 DESTDIR=${D} ninja ${PARALLEL_MAKE} install-unwind
66 rm -rf ${D}${libdir}/libunwind.so
67 fi 66 fi
68 DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxx install-cxxabi 67 DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxx install-cxxabi
69} 68}