modify stage dir var names to use new prefix scheme in debian/rules

This commit is contained in:
Erik Maciejewski 2021-10-22 04:46:21 -07:00
parent 5f699155e2
commit 35a8b4a6fc
2 changed files with 14 additions and 13 deletions

1
debian/changelog vendored
View File

@ -9,6 +9,7 @@ llvm-toolchain-12 (1:12.0.1-14) unstable; urgency=medium
* establish a consistent STAGE_[stage]_ prefix naming scheme for stage
variables and replace STAGE1_AND_STAGE2_ prefix with STAGE_ALL_ prefix for
better future-proofing in debian/rules
* modify stage dir var names to use new prefix scheme in debian/rules
* add explicit s390x build options to debian/rules, set
LLVM_HOST_TRIPLE=s390x-linux-gnu and COMPILER_RT_DEFAULT_TARGET_ONLY=ON
so that builtins are only built for the explicit host arch (Closes: #996802)

26
debian/rules vendored
View File

@ -79,10 +79,10 @@ CMAKE_EXTRA = $(STAGE_1_CMAKE_EXTRA) $(STAGE_ALL_CMAKE_EXTRA)
BOOTSTRAP_CMAKE_EXTRA = $(foreach extra,$(STAGE_2_CMAKE_EXTRA) $(STAGE_ALL_CMAKE_EXTRA), $(subst -D,-DBOOTSTRAP_,$(extra)))
BASE_PATH := $(CURDIR)
STAGE1_BIN_DIR := $(BASE_PATH)/$(TARGET_BUILD)/bin
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
STAGE_1_BIN_DIR := $(BASE_PATH)/$(TARGET_BUILD)/bin
STAGE_1_LIB_DIR := $(BASE_PATH)/$(TARGET_BUILD)/lib
STAGE_2_BIN_DIR := $(BASE_PATH)/$(TARGET_BUILD_STAGE2)/bin
STAGE_2_LIB_DIR := $(BASE_PATH)/$(TARGET_BUILD_STAGE2)/lib
# toggleable defaults
COMPILER_RT_USE_BUILTINS_LIBRARY := ON
@ -540,7 +540,7 @@ override_dh_auto_configure: preconfigure
-DBOOTSTRAP_LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON \
$(BOOTSTRAP_CMAKE_EXTRA) \
-DBOOTSTRAP_BUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_2_CFLAGS_EXTRA);-DCMAKE_CXX_FLAGS=$(STAGE_2_CXXFLAGS_EXTRA);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS_EXTRA);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS_EXTRA);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS_EXTRA);-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_C_FLAGS=$(STAGE_2_CFLAGS_EXTRA);-DCMAKE_CXX_FLAGS=$(STAGE_2_CXXFLAGS_EXTRA);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS_EXTRA) -L$(STAGE1_LIB_DIR);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS_EXTRA) -L$(STAGE1_LIB_DIR);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_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" \
-DBOOTSTRAP_RUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_2_CFLAGS_EXTRA);-DCMAKE_CXX_FLAGS=$(STAGE_2_CXXFLAGS_EXTRA);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS_EXTRA) -L$(STAGE_1_LIB_DIR);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS_EXTRA) -L$(STAGE_1_LIB_DIR);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS_EXTRA) -L$(STAGE_1_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_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 \
@ -554,7 +554,7 @@ VERBOSE=-v
debian-full-build:
echo "Using cmake: $(CMAKE_BIN)"
# linker hack so stage2 can link against stage1 libs at runtime
LD_LIBRARY_PATH=$(STAGE1_LIB_DIR):$$LD_LIBRARY_PATH \
LD_LIBRARY_PATH=$(STAGE_1_LIB_DIR):$$LD_LIBRARY_PATH \
VERBOSE=1 $(PRE_PROCESS) $(CMAKE_BIN) --build $(TARGET_BUILD) $(NJOBS) --target stage2
# Check the stage 2 build worked
@ -573,7 +573,7 @@ ifeq (${LIBFUZZER_ENABLE},yes)
cd $(TARGET_BUILD); \
CFLAGS="$(opt_flags) $(STAGE_2_CFLAGS_EXTRA)"; \
echo $$CFLAGS; \
$(STAGE2_BIN_DIR)/clang++ -c $$CFLAGS -std=c++11 $(BASE_PATH)/compiler-rt/lib/fuzzer/*.cpp -IFuzzer; \
$(STAGE_2_BIN_DIR)/clang++ -c $$CFLAGS -std=c++11 $(BASE_PATH)/compiler-rt/lib/fuzzer/*.cpp -IFuzzer; \
ar ruv libFuzzer.a Fuzzer*.o
endif
touch $@
@ -585,17 +585,17 @@ debian-libclc-build:
cd libclc/build && \
$(CMAKE_BIN) ../ \
-G $(GENERATOR) \
-DCMAKE_C_COMPILER=$(STAGE2_BIN_DIR)/clang \
-DCMAKE_CXX_COMPILER=$(STAGE2_BIN_DIR)/clang++ \
-DCMAKE_C_COMPILER=$(STAGE_2_BIN_DIR)/clang \
-DCMAKE_CXX_COMPILER=$(STAGE_2_BIN_DIR)/clang++ \
-DCMAKE_C_FLAGS="$(opt_flags) $(STAGE_2_CFLAGS_EXTRA)" \
-DCMAKE_CXX_FLAGS="$(opt_flags) $(STAGE_2_CXXFLAGS_EXTRA)" \
-DCMAKE_SHARED_LINKER_FLAGS="$(STAGE_2_LDFLAGS_EXTRA) -L$(STAGE2_LIB_DIR)" \
-DCMAKE_MODULE_LINKER_FLAGS="$(STAGE_2_LDFLAGS_EXTRA) -L$(STAGE2_LIB_DIR)" \
-DCMAKE_EXE_LINKER_FLAGS="$(STAGE_2_LDFLAGS_EXTRA) -L$(STAGE2_LIB_DIR)" \
-DCMAKE_SHARED_LINKER_FLAGS="$(STAGE_2_LDFLAGS_EXTRA) -L$(STAGE_2_LIB_DIR)" \
-DCMAKE_MODULE_LINKER_FLAGS="$(STAGE_2_LDFLAGS_EXTRA) -L$(STAGE_2_LIB_DIR)" \
-DCMAKE_EXE_LINKER_FLAGS="$(STAGE_2_LDFLAGS_EXTRA) -L$(STAGE_2_LIB_DIR)" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_DATADIR=lib \
-DCMAKE_INSTALL_INCLUDEDIR=include \
-DLLVM_CONFIG=$(STAGE2_BIN_DIR)/llvm-config \
-DLLVM_CONFIG=$(STAGE_2_BIN_DIR)/llvm-config \
-DLIBCLC_TARGETS_TO_BUILD=$(LIBCLC_TARGETS_TO_BUILD); \
ninja $(NJOBS) $(VERBOSE)
touch $@