From a5528e133ea546feaa48f13f734b94e5744960bc Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Mon, 2 Aug 2021 10:59:45 +0200 Subject: [PATCH] libc++ & libc++ abi: only pass -DLIBCXXABI_USE_LLVM_UNWINDER=YES if libunwind is available on the platform --- debian/changelog | 2 ++ debian/rules | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index aa3ab28f..ce43e839 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ llvm-toolchain-12 (1:12.0.1-3) unstable; urgency=medium * Build libunwind only on amd64 arm64 armhf i386 mips64el ppc64el ppc64 riscv64 sparc sparc64 Not supported on s390x for example + * libc++ & libc++ abi: only pass -DLIBCXXABI_USE_LLVM_UNWINDER=YES + if libunwind is available on the platform -- Sylvestre Ledru Sun, 01 Aug 2021 11:42:20 +0200 diff --git a/debian/rules b/debian/rules index ca5966d4..480b488d 100755 --- a/debian/rules +++ b/debian/rules @@ -41,6 +41,7 @@ CXXFLAGS_EXTRA = CFLAGS_EXTRA = CONFIGURE_EXTRA = CMAKE_EXTRA = -DPYTHON_EXECUTABLE=/usr/bin/python3 +CMAKE_LIBCXX_EXTRA = BASE_PATH := $(CURDIR) LIBCXX_EXCEPTIONS :=ON @@ -193,6 +194,7 @@ ifneq (,$(filter $(DEB_HOST_ARCH), s390x)) LIBUNWIND_ENABLE=no else PROJECTS+=;libunwind + CMAKE_LIBCXX_EXTRA += -DLIBCXXABI_USE_LLVM_UNWINDER=YES endif RUN_TEST=yes @@ -481,7 +483,6 @@ LIBCXX_CMAKE_OPTIONS := \ -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ -DLIBCXX_USE_COMPILER_RT=YES \ -DLIBCXXABI_USE_COMPILER_RT=YES \ - -DLIBCXXABI_USE_LLVM_UNWINDER=YES \ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \ -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \ -DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF \ @@ -493,7 +494,6 @@ debian-libcxx-build: mkdir -p libcxx/build mkdir -p libcxxabi/build - echo "Using cmake: $(CMAKE_BIN)"; \ cd libcxxabi/build && \ $(PRE_PROCESS_CONF) $(CMAKE_BIN) ../ \ @@ -502,7 +502,8 @@ debian-libcxx-build: -DLIBCXXABI_LIBCXX_LIBRARY_PATH=$(BASE_PATH)/libcxx/build/lib \ -DLIBCXXABI_LIBCXX_INCLUDES=$(BASE_PATH)/libcxx/include \ -DLIBCXXABI_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \ - -DLLVM_ENABLE_RTTI=ON && \ + -DLLVM_ENABLE_RTTI=ON \ + $(CMAKE_LIBCXX_EXTRA) && \ $(PRE_PROCESS_CONF) make $(NJOBS) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" touch $@ @@ -519,7 +520,8 @@ debian-libcxxabi-build: -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$(BASE_PATH)/libcxxabi/include \ -DLIBCXX_CXX_ABI_LIBRARY_PATH=$(BASE_PATH)/libcxxabi/build/lib \ -DLIBCXX_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \ - -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON && \ + -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON \ + $(CMAKE_LIBCXX_EXTRA) && \ $(PRE_PROCESS_CONF) make $(NJOBS) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)" touch $@