update rules to incorporate relevant arch specific configs from snapshot

This commit is contained in:
Erik Maciejewski 2021-10-20 16:47:20 -07:00
parent b0199c560b
commit 21741170df

47
debian/rules vendored
View File

@ -72,10 +72,10 @@ STAGE1_LIB_DIR := $(BASE_PATH)/$(TARGET_BUILD)/lib
STAGE2_BIN_DIR := $(BASE_PATH)/$(TARGET_BUILD_STAGE2)/bin
STAGE2_LIB_DIR := $(BASE_PATH)/$(TARGET_BUILD_STAGE2)/lib
# toggleable defaults
COMPILER_RT_USE_BUILTINS_LIBRARY := ON
LIBCXX_EXCEPTIONS := ON
ifneq (,$(filter $(DEB_HOST_ARCH),s390x))
LIBCXX_EXCEPTIONS :=OFF
endif
LIBCXX_USE_COMPILER_RT := ON
ifneq (,$(filter $(DEB_HOST_ARCH),sparc sparc64))
STAGE1_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4
@ -128,10 +128,13 @@ ifneq (,$(findstring $(DEB_HOST_ARCH),armel))
STAGE2_CFLAGS_EXTRA += -march=armv5t
STAGE2_CXXFLAGS_EXTRA += -march=armv5t
STAGE1_AND_STAGE2_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-linux-gnueabi
# 12 still failing to build, disable the compiler_rt builtins
# See http://lists.llvm.org/pipermail/llvm-dev/2016-May/099761.html
STAGE1_AND_STAGE2_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF
STAGE1_AND_STAGE2_CMAKE_EXTRA += -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
# 12 still failing to build, disable the compiler_rt builtins
# See http://lists.llvm.org/pipermail/llvm-dev/2016-May/099761.html
STAGE1_AND_STAGE2_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF
COMPILER_RT_USE_BUILTINS_LIBRARY := OFF
# See https://bugs.llvm.org/show_bug.cgi?id=52022
LIBCXX_USE_COMPILER_RT := OFF
endif
ifneq (,$(findstring $(DEB_HOST_ARCH),armhf))
@ -139,12 +142,30 @@ ifneq (,$(findstring $(DEB_HOST_ARCH),armhf))
STAGE1_AND_STAGE2_CMAKE_EXTRA += -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
endif
ifneq (,$(filter $(DEB_HOST_ARCH),i386))
# Sometimes, i386 needs help with the triple
STAGE1_AND_STAGE2_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=i386-linux-gnu
endif
ifneq (,$(filter $(DEB_HOST_ARCH),mips64el))
# avoid an issue with search path on mips64el
# https://bugs.llvm.org/show_bug.cgi?id=41204
STAGE1_AND_STAGE2_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=mips64el-linux-gnuabi64
endif
ifneq (,$(filter $(DEB_HOST_ARCH),x32))
STAGE1_AND_STAGE2_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=x86_64-linux-gnux32
STAGE1_AND_STAGE2_CMAKE_EXTRA += -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-linux-gnux32
# See https://bugs.llvm.org/show_bug.cgi?id=52022
LIBCXX_USE_COMPILER_RT := OFF
endif
ifneq (,$(filter $(DEB_HOST_ARCH),s390x))
LIBCXX_EXCEPTIONS := OFF
# See https://bugs.llvm.org/show_bug.cgi?id=52022
LIBCXX_USE_COMPILER_RT := OFF
endif
ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) ge 4.8-20121128-1~ ; echo $$?),0)
control_vars = '-Vdep:devlibs=libstdc++-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev' \
'-Vdep:devlibs-objc=libobjc-$(GCC_VERSION)-dev'
@ -464,16 +485,18 @@ override_dh_auto_configure: preconfigure
-DCLANG_DEFAULT_RTLIB=libgcc \
-DCOMPILER_RT_BUILD_XRAY=OFF \
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
-DCOMPILER_RT_USE_LIBCXX=NO \
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \
-DCOMPILER_RT_USE_LIBCXX=OFF \
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=$(COMPILER_RT_USE_BUILTINS_LIBRARY) \
-DLIBUNWIND_ENABLE_SHARED=ON \
-DLIBUNWIND_USE_COMPILER_RT=ON \
-DLIBUNWIND_INSTALL_LIBRARY=OFF \
-DLIBCXXABI_ENABLE_SHARED=ON \
-DLIBCXXABI_USE_COMPILER_RT=ON \
-DLIBCXXABI_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
-DLIBCXXABI_USE_COMPILER_RT=$(LIBCXX_USE_COMPILER_RT) \
-DLIBCXXABI_INSTALL_LIBRARY=OFF \
-DLIBCXX_ENABLE_SHARED=ON \
-DLIBCXX_USE_COMPILER_RT=ON \
-DLIBCXX_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
-DLIBCXX_USE_COMPILER_RT=$(LIBCXX_USE_COMPILER_RT) \
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \
-DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \
-DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF \
@ -508,13 +531,11 @@ override_dh_auto_configure: preconfigure
-DBOOTSTRAP_LLVM_LINK_LLVM_DYLIB=ON \
-DBOOTSTRAP_CLANG_LINK_CLANG_DYLIB=ON \
-DBOOTSTRAP_LIBCLANG_LIBRARY_VERSION=$(SONAME_EXT) \
-DBOOTSTRAP_LIBCXXABI_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
-DBOOTSTRAP_LIBCXX_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
-DBOOTSTRAP_LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON \
$(BOOTSTRAP_CMAKE_EXTRA) \
-DBOOTSTRAP_BUILTINS_CMAKE_ARGS="-DCMAKE_SYSTEM_NAME=Linux;-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$(opt_flags);-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \
-DBOOTSTRAP_RUNTIMES_CMAKE_ARGS="-DCMAKE_CXX_FLAGS=$(STAGE2_CXXFLAGS_EXTRA);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE2_LDFLAGS_EXTRA) -L$(STAGE1_LIB_DIR);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE2_LDFLAGS_EXTRA) -L$(STAGE1_LIB_DIR);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE2_LDFLAGS_EXTRA) -L$(STAGE1_LIB_DIR);-DCMAKE_SYSTEM_NAME=Linux;-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$(opt_flags);-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \
-DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_SUPPRESS_REGENERATION;ENABLE_LINKER_BUILD_ID;LLVM_ENABLE_PIC;LLVM_ENABLE_RTTI;LLVM_INCLUDE_GO_TESTS;CLANG_DEFAULT_LINKER;CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;COMPILER_RT_USE_LIBCXX;COMPILER_RT_USE_BUILTINS_LIBRARY;COMPILER_RT_INCLUDE_TESTS;LIBUNWIND_ENABLE_SHARED;LIBUNWIND_USE_COMPILER_RT;LIBCXXABI_ENABLE_SHARED;LIBCXXABI_USE_COMPILER_RT;LIBCXX_USE_COMPILER_RT;LIBCXX_ENABLE_SHARED;LIBCXX_ENABLE_STATIC_ABI_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY;LIBOMP_ENABLE_RTTI;PYTHON_EXECUTABLE"
-DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_SUPPRESS_REGENERATION;ENABLE_LINKER_BUILD_ID;LLVM_ENABLE_PIC;LLVM_ENABLE_RTTI;LLVM_INCLUDE_GO_TESTS;CLANG_DEFAULT_LINKER;CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;COMPILER_RT_USE_LIBCXX;COMPILER_RT_USE_BUILTINS_LIBRARY;COMPILER_RT_INCLUDE_TESTS;LIBUNWIND_ENABLE_SHARED;LIBUNWIND_USE_COMPILER_RT;LIBCXXABI_ENABLE_SHARED;LIBCXXABI_ENABLE_EXCEPTIONS;LIBCXXABI_USE_COMPILER_RT;LIBCXX_USE_COMPILER_RT;LIBCXX_ENABLE_SHARED;LIBCXX_ENABLE_EXCEPTIONS;LIBCXX_ENABLE_STATIC_ABI_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY;LIBOMP_ENABLE_RTTI;PYTHON_EXECUTABLE"
FOUND_VERSION=`grep LLVM_VERSION_STRING build-llvm/include/llvm/Config/llvm-config.h|cut -d\" -f2`; \
if ! echo "$(LLVM_VERSION_FULL)"|grep "$$FOUND_VERSION"; then \
echo "mistmatch of version. Found: $$FOUND_VERSION / Expected: $(LLVM_VERSION_FULL)"; \