summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-02-06 11:08:09 -0800
committerKhem Raj <raj.khem@gmail.com>2019-02-07 22:44:28 -0800
commit49e9e00f48ae01b5f76fabee4aff55d060c68189 (patch)
tree940eac4bf0a4fa48103d3c54583070de4adad858
parentf0577403bfa4b6a7f5937fbbe88ba49ffb015c33 (diff)
downloadmeta-clang-49e9e00f48ae01b5f76fabee4aff55d060c68189.tar.gz
libcxx: Make libunwind as static library
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--classes/clang.bbclass1
-rw-r--r--recipes-devtools/clang/libcxx_git.bb32
2 files changed, 14 insertions, 19 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass
index a5ca1dd..88dd893 100644
--- a/classes/clang.bbclass
+++ b/classes/clang.bbclass
@@ -44,4 +44,3 @@ BASEDEPENDS_append_toolchain-clang_class-target = "${@clang_dep_prepend(d)}"
44 44
45PREFERRED_PROVIDER_libunwind = "libunwind" 45PREFERRED_PROVIDER_libunwind = "libunwind"
46PREFERRED_PROVIDER_libunwind_mipsarch = "libunwind" 46PREFERRED_PROVIDER_libunwind_mipsarch = "libunwind"
47PREFERRED_PROVIDER_libunwind_toolchain-clang = "libcxx"
diff --git a/recipes-devtools/clang/libcxx_git.bb b/recipes-devtools/clang/libcxx_git.bb
index b36dede..8168c61 100644
--- a/recipes-devtools/clang/libcxx_git.bb
+++ b/recipes-devtools/clang/libcxx_git.bb
@@ -21,9 +21,10 @@ PACKAGECONFIG ??= "unwind"
21PACKAGECONFIG_powerpc = "" 21PACKAGECONFIG_powerpc = ""
22PACKAGECONFIG_mipsarch = "" 22PACKAGECONFIG_mipsarch = ""
23PACKAGECONFIG_riscv64 = "" 23PACKAGECONFIG_riscv64 = ""
24PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBCXXABI_LIBUNWIND_INCLUDES=${S}/projects/libunwind/include, -DLIBCXXABI_USE_LLVM_UNWINDER=OFF," 24PACKAGECONFIG[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,"
25 25
26PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}" 26#PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}"
27LIBUNWIND = "${@bb.utils.contains('PACKAGECONFIG', 'unwind', ';libunwind', '', d)}"
27 28
28LIC_FILES_CHKSUM = "file://libcxx/LICENSE.TXT;md5=3de3deb8323d5cf3360104190e804a75 \ 29LIC_FILES_CHKSUM = "file://libcxx/LICENSE.TXT;md5=3de3deb8323d5cf3360104190e804a75 \
29 file://libcxxabi/LICENSE.TXT;md5=9dad5a191d1fc03b31525706040c4ed1 \ 30 file://libcxxabi/LICENSE.TXT;md5=9dad5a191d1fc03b31525706040c4ed1 \
@@ -40,7 +41,7 @@ EXTRA_OECMAKE += "\
40 -DLIBCXXABI_LIBCXX_INCLUDES=${S}/libcxx/include \ 41 -DLIBCXXABI_LIBCXX_INCLUDES=${S}/libcxx/include \
41 -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \ 42 -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \
42 -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib \ 43 -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib \
43 -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi;libunwind' \ 44 -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi${LIBUNWIND}' \
44 -G Ninja \ 45 -G Ninja \
45 ${S}/llvm \ 46 ${S}/llvm \
46" 47"
@@ -50,26 +51,21 @@ EXTRA_OECMAKE_append_class-nativesdk = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF"
50EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " 51EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON "
51 52
52do_compile() { 53do_compile() {
53 54 if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then
54 ninja -v ${PARALLEL_MAKE} cxxabi 55 ninja -v ${PARALLEL_MAKE} unwind
55 ninja -v ${PARALLEL_MAKE} cxx 56 fi
56 if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then 57 ninja -v ${PARALLEL_MAKE} cxxabi
57 ninja -v ${PARALLEL_MAKE} unwind 58 ninja -v ${PARALLEL_MAKE} cxx
58 fi
59
60} 59}
61 60
62do_install() { 61do_install() {
63 DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxxabi 62 if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then
64 DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxx 63 DESTDIR=${D} ninja ${PARALLEL_MAKE} install-unwind
65 if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then 64 rm -rf ${D}${libdir}/libunwind.so
66 DESTDIR=${D} ninja ${PARALLEL_MAKE} install-unwind 65 fi
67 fi 66 DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxx install-cxxabi
68} 67}
69 68
70PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}"
71FILES_libunwind += "${libdir}/libunwind.so.*"
72
73ALLOW_EMPTY_${PN} = "1" 69ALLOW_EMPTY_${PN} = "1"
74 70
75RDEPENDS_${PN}-dev += "${PN}-staticdev" 71RDEPENDS_${PN}-dev += "${PN}-staticdev"