libc++ & libc++ abi: only pass -DLIBCXXABI_USE_LLVM_UNWINDER=YES if libunwind is available on the platform

This commit is contained in:
Sylvestre Ledru 2021-08-02 10:59:45 +02:00
parent cb191ac1b3
commit a5528e133e
2 changed files with 8 additions and 4 deletions

2
debian/changelog vendored
View File

@ -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 <sylvestre@debian.org> Sun, 01 Aug 2021 11:42:20 +0200

10
debian/rules vendored
View File

@ -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 $@