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 * Build libunwind only on amd64 arm64 armhf i386
mips64el ppc64el ppc64 riscv64 sparc sparc64 mips64el ppc64el ppc64 riscv64 sparc sparc64
Not supported on s390x for example 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 -- 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 = CFLAGS_EXTRA =
CONFIGURE_EXTRA = CONFIGURE_EXTRA =
CMAKE_EXTRA = -DPYTHON_EXECUTABLE=/usr/bin/python3 CMAKE_EXTRA = -DPYTHON_EXECUTABLE=/usr/bin/python3
CMAKE_LIBCXX_EXTRA =
BASE_PATH := $(CURDIR) BASE_PATH := $(CURDIR)
LIBCXX_EXCEPTIONS :=ON LIBCXX_EXCEPTIONS :=ON
@ -193,6 +194,7 @@ ifneq (,$(filter $(DEB_HOST_ARCH), s390x))
LIBUNWIND_ENABLE=no LIBUNWIND_ENABLE=no
else else
PROJECTS+=;libunwind PROJECTS+=;libunwind
CMAKE_LIBCXX_EXTRA += -DLIBCXXABI_USE_LLVM_UNWINDER=YES
endif endif
RUN_TEST=yes RUN_TEST=yes
@ -481,7 +483,6 @@ LIBCXX_CMAKE_OPTIONS := \
-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \
-DLIBCXX_USE_COMPILER_RT=YES \ -DLIBCXX_USE_COMPILER_RT=YES \
-DLIBCXXABI_USE_COMPILER_RT=YES \ -DLIBCXXABI_USE_COMPILER_RT=YES \
-DLIBCXXABI_USE_LLVM_UNWINDER=YES \
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \
-DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \ -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \
-DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF \ -DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF \
@ -493,7 +494,6 @@ debian-libcxx-build:
mkdir -p libcxx/build mkdir -p libcxx/build
mkdir -p libcxxabi/build mkdir -p libcxxabi/build
echo "Using cmake: $(CMAKE_BIN)"; \ echo "Using cmake: $(CMAKE_BIN)"; \
cd libcxxabi/build && \ cd libcxxabi/build && \
$(PRE_PROCESS_CONF) $(CMAKE_BIN) ../ \ $(PRE_PROCESS_CONF) $(CMAKE_BIN) ../ \
@ -502,7 +502,8 @@ debian-libcxx-build:
-DLIBCXXABI_LIBCXX_LIBRARY_PATH=$(BASE_PATH)/libcxx/build/lib \ -DLIBCXXABI_LIBCXX_LIBRARY_PATH=$(BASE_PATH)/libcxx/build/lib \
-DLIBCXXABI_LIBCXX_INCLUDES=$(BASE_PATH)/libcxx/include \ -DLIBCXXABI_LIBCXX_INCLUDES=$(BASE_PATH)/libcxx/include \
-DLIBCXXABI_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \ -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)" $(PRE_PROCESS_CONF) make $(NJOBS) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)"
touch $@ touch $@
@ -519,7 +520,8 @@ debian-libcxxabi-build:
-DLIBCXX_CXX_ABI_INCLUDE_PATHS=$(BASE_PATH)/libcxxabi/include \ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=$(BASE_PATH)/libcxxabi/include \
-DLIBCXX_CXX_ABI_LIBRARY_PATH=$(BASE_PATH)/libcxxabi/build/lib \ -DLIBCXX_CXX_ABI_LIBRARY_PATH=$(BASE_PATH)/libcxxabi/build/lib \
-DLIBCXX_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \ -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)" $(PRE_PROCESS_CONF) make $(NJOBS) $(VERBOSE) CXXFLAGS="$(CXXFLAGS_EXTRA)" LDFLAGS="$(LDFLAGS_EXTRA)"
touch $@ touch $@