From 49e9e00f48ae01b5f76fabee4aff55d060c68189 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 6 Feb 2019 11:08:09 -0800 Subject: libcxx: Make libunwind as static library Signed-off-by: Khem Raj --- classes/clang.bbclass | 1 - recipes-devtools/clang/libcxx_git.bb | 32 ++++++++++++++------------------ 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)}" PREFERRED_PROVIDER_libunwind = "libunwind" PREFERRED_PROVIDER_libunwind_mipsarch = "libunwind" -PREFERRED_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" PACKAGECONFIG_powerpc = "" PACKAGECONFIG_mipsarch = "" PACKAGECONFIG_riscv64 = "" -PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBCXXABI_LIBUNWIND_INCLUDES=${S}/projects/libunwind/include, -DLIBCXXABI_USE_LLVM_UNWINDER=OFF," +PACKAGECONFIG[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," -PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}" +#PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}" +LIBUNWIND = "${@bb.utils.contains('PACKAGECONFIG', 'unwind', ';libunwind', '', d)}" LIC_FILES_CHKSUM = "file://libcxx/LICENSE.TXT;md5=3de3deb8323d5cf3360104190e804a75 \ file://libcxxabi/LICENSE.TXT;md5=9dad5a191d1fc03b31525706040c4ed1 \ @@ -40,7 +41,7 @@ EXTRA_OECMAKE += "\ -DLIBCXXABI_LIBCXX_INCLUDES=${S}/libcxx/include \ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \ -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib \ - -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi;libunwind' \ + -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi${LIBUNWIND}' \ -G Ninja \ ${S}/llvm \ " @@ -50,26 +51,21 @@ EXTRA_OECMAKE_append_class-nativesdk = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF" EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " do_compile() { - - ninja -v ${PARALLEL_MAKE} cxxabi - ninja -v ${PARALLEL_MAKE} cxx - if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then - ninja -v ${PARALLEL_MAKE} unwind - fi - + if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then + ninja -v ${PARALLEL_MAKE} unwind + fi + ninja -v ${PARALLEL_MAKE} cxxabi + ninja -v ${PARALLEL_MAKE} cxx } do_install() { - DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxxabi - DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxx - if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then - DESTDIR=${D} ninja ${PARALLEL_MAKE} install-unwind - fi + if ${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'true', 'false', d)}; then + DESTDIR=${D} ninja ${PARALLEL_MAKE} install-unwind + rm -rf ${D}${libdir}/libunwind.so + fi + DESTDIR=${D} ninja ${PARALLEL_MAKE} install-cxx install-cxxabi } -PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'unwind', 'libunwind', '', d)}" -FILES_libunwind += "${libdir}/libunwind.so.*" - ALLOW_EMPTY_${PN} = "1" RDEPENDS_${PN}-dev += "${PN}-staticdev" -- cgit v1.2.3-54-g00ecf