mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-08-03 19:15:50 +00:00
reconfigure toolchain to use gnu runtimes by default
this requires one small modification to the qualify-clang.sh script for the last libPolly test since the toolchain itself is using libc++
This commit is contained in:
parent
9acb6c59ef
commit
3ee7840e5b
2
debian/qualify-clang.sh
vendored
2
debian/qualify-clang.sh
vendored
@ -1271,7 +1271,7 @@ int main() {
|
||||
EmitBackendOutput(*diags, *hsOpts, *cgOpts, *tOpts, *lOpts, *tDesc, m, *action, std::move(AsmOutStream));
|
||||
}
|
||||
EOF
|
||||
clang++-$VERSION foo.cpp -o test -lclangBasic -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangCodeGen -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangFrontend -lclangDriver -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -lclangBasic -ldl /usr/lib/llvm-$VERSION/lib/libLLVM-$VERSION.so -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -ldl -I /usr/lib/llvm-$VERSION/include/ -L/usr/lib/llvm-$VERSION/lib/ -lPolly -lPollyPPCG -lPollyISL
|
||||
clang++-$VERSION foo.cpp -o test -stdlib=libc++ -lclangBasic -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangCodeGen -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangFrontend -lclangDriver -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -lclangBasic -ldl /usr/lib/llvm-$VERSION/lib/libLLVM-$VERSION.so -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -ldl -I /usr/lib/llvm-$VERSION/include/ -L/usr/lib/llvm-$VERSION/lib/ -lPolly -lPollyPPCG -lPollyISL
|
||||
|
||||
if test ! -f /usr/bin/lldb-$VERSION; then
|
||||
echo "Install lldb-$VERSION";
|
||||
|
63
debian/rules
vendored
63
debian/rules
vendored
@ -58,11 +58,8 @@ ifneq (,$(filter $(DEB_HOST_ARCH),s390x))
|
||||
endif
|
||||
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH),i386 armel mips mipsel powerpc powerpcspe riscv64))
|
||||
CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-lm -latomic" -DCMAKE_SHARED_LINKER_FLAGS="-latomic"
|
||||
STAGE1_CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-lm -latomic" -DCMAKE_SHARED_LINKER_FLAGS="-latomic"
|
||||
else
|
||||
CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-lm"
|
||||
STAGE1_CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-lm"
|
||||
CMAKE_EXTRA += -DCMAKE_SHARED_LINKER_FLAGS="-latomic"
|
||||
STAGE1_CMAKE_EXTRA += -DCMAKE_SHARED_LINKER_FLAGS="-latomic"
|
||||
endif
|
||||
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH),sparc sparc64))
|
||||
@ -175,12 +172,12 @@ ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS)))
|
||||
endif
|
||||
|
||||
# Enable for bootstrap
|
||||
LDFLAGS_EXTRA += -Wno-unused-command-line-argument -Wl,--build-id
|
||||
CFLAGS_EXTRA += -Wno-unused-command-line-argument
|
||||
CXXFLAGS_EXTRA += -Wno-unused-command-line-argument
|
||||
LDFLAGS_EXTRA += -Wno-unused-command-line-argument -Wl,--build-id
|
||||
BOOTSTRAP_CFLAGS_EXTRA = $(CFLAGS_EXTRA)
|
||||
BOOTSTRAP_CXXFLAGS_EXTRA = $(CXXFLAGS_EXTRA)
|
||||
BOOTSTRAP_LDFLAGS_EXTRA = -rtlib=compiler-rt
|
||||
BOOTSTRAP_CXXFLAGS_EXTRA = $(CXXFLAGS_EXTRA) -stdlib=libc++
|
||||
BOOTSTRAP_LDFLAGS_EXTRA = -fuse-ld=lld -rtlib=compiler-rt -stdlib=libc++
|
||||
|
||||
# Enable polly (or not)
|
||||
POLLY_ENABLE=yes
|
||||
@ -190,25 +187,29 @@ else
|
||||
PROJECTS+=;polly
|
||||
endif
|
||||
|
||||
# Enable openmp (or not)
|
||||
OPENMP_ENABLE=yes
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel powerpc powerpcspe sparc64 s390x x32))
|
||||
OPENMP_ENABLE=no
|
||||
else
|
||||
RUNTIMES+=;openmp
|
||||
endif
|
||||
|
||||
# Enable libunwind (or not)
|
||||
LIBUNWIND_ENABLE=yes
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH), s390x armel mipsel hurd-i386 powerpc sparc sparc64 x32))
|
||||
LIBUNWIND_ENABLE=no
|
||||
else
|
||||
RUNTIMES += ;libunwind
|
||||
BOOTSTRAP_LDFLAGS_EXTRA += -l:libunwind.so
|
||||
# these are also added to stage2 via CLANG_BOOTSTRAP_PASSTHROUGH
|
||||
STAGE1_CMAKE_EXTRA += \
|
||||
-DLIBCXXABI_USE_LLVM_UNWINDER=ON \
|
||||
-DOPENMP_USE_LLVM_UNWINDER=ON
|
||||
BOOTSTRAP_LDFLAGS_EXTRA += -unwindlib=libunwind
|
||||
# this is also added to stage2 via CLANG_BOOTSTRAP_PASSTHROUGH
|
||||
STAGE1_CMAKE_EXTRA += -DLIBCXXABI_USE_LLVM_UNWINDER=ON
|
||||
endif
|
||||
|
||||
# Enable openmp (or not)
|
||||
OPENMP_ENABLE=yes
|
||||
ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel powerpc powerpcspe sparc64 s390x x32))
|
||||
OPENMP_ENABLE=no
|
||||
else
|
||||
RUNTIMES+=;openmp
|
||||
# this is also added to stage2 via CLANG_BOOTSTRAP_PASSTHROUGH
|
||||
STAGE1_CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-lm"
|
||||
ifeq ($(LIBUNWIND_ENABLE),yes)
|
||||
# this is also added to stage2 via CLANG_BOOTSTRAP_PASSTHROUGH
|
||||
STAGE1_CMAKE_EXTRA += -DOPENMP_USE_LLVM_UNWINDER=ON
|
||||
endif
|
||||
endif
|
||||
|
||||
RUN_TEST=yes
|
||||
@ -452,7 +453,6 @@ override_dh_auto_configure: preconfigure
|
||||
-DLLVM_BUILD_DOCS=OFF \
|
||||
-DLLVM_INCLUDE_GO_TESTS=OFF \
|
||||
-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \
|
||||
-DCLANG_DEFAULT_LINKER=lld \
|
||||
-DCLANG_PLUGIN_SUPPORT=OFF \
|
||||
-DCLANG_BUILD_EXAMPLES=OFF \
|
||||
-DCOMPILER_RT_BUILD_XRAY=OFF \
|
||||
@ -487,7 +487,6 @@ override_dh_auto_configure: preconfigure
|
||||
-DBOOTSTRAP_CMAKE_SHARED_LINKER_FLAGS="$(BOOTSTRAP_LDFLAGS_EXTRA)" \
|
||||
-DBOOTSTRAP_CMAKE_MODULE_LINKER_FLAGS="$(BOOTSTRAP_LDFLAGS_EXTRA)" \
|
||||
-DBOOTSTRAP_CMAKE_EXE_LINKER_FLAGS="$(BOOTSTRAP_LDFLAGS_EXTRA)" \
|
||||
-DBOOTSTRAP_LLVM_ENABLE_LLD=ON \
|
||||
-DBOOTSTRAP_LLVM_ENABLE_LIBCXX=ON \
|
||||
-DBOOTSTRAP_LLVM_ENABLE_FFI=ON \
|
||||
-DBOOTSTRAP_LLVM_ENABLE_DUMP=ON \
|
||||
@ -501,10 +500,9 @@ override_dh_auto_configure: preconfigure
|
||||
-DBOOTSTRAP_LLVM_EXPERIMENTAL_TARGETS_TO_BUILD="AVR" \
|
||||
-DBOOTSTRAP_LLVM_LINK_LLVM_DYLIB=ON \
|
||||
-DBOOTSTRAP_CLANG_LINK_CLANG_DYLIB=ON \
|
||||
-DBOOTSTRAP_CLANG_DEFAULT_CXX_STDLIB=libc++ \
|
||||
-DBOOTSTRAP_CLANG_DEFAULT_RTLIB=compiler-rt \
|
||||
-DBOOTSTRAP_CLANG_DEFAULT_OBJCOPY=llvm-objcopy \
|
||||
-DBOOTSTRAP_CLANG_DEFAULT_OPENMP_RUNTIME=libomp \
|
||||
-DBOOTSTRAP_CLANG_DEFAULT_LINKER=ld \
|
||||
-DBOOTSTRAP_CLANG_DEFAULT_CXX_STDLIB=libstdc++ \
|
||||
-DBOOTSTRAP_CLANG_DEFAULT_RTLIB=libgcc \
|
||||
-DBOOTSTRAP_LIBCLANG_LIBRARY_VERSION=$(SONAME_EXT) \
|
||||
-DBOOTSTRAP_SANITIZER_CXX_ABI=libc++ \
|
||||
-DBOOTSTRAP_LIBCXXABI_ENABLE_EXCEPTIONS=$(LIBCXX_EXCEPTIONS) \
|
||||
@ -512,8 +510,8 @@ override_dh_auto_configure: preconfigure
|
||||
-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_EXE_LINKER_FLAGS=-L$(STAGE1_LIB_DIR);-DCMAKE_SHARED_LINKER_FLAGS=-L$(STAGE1_LIB_DIR);-DCMAKE_MODULE_LINKER_FLAGS=-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_HOST_TRIPLE;LLVM_ENABLE_PIC;LLVM_ENABLE_RTTI;LLVM_ENABLE_ASSERTIONS;LLVM_INCLUDE_GO_TESTS;LLVM_BINUTILS_INCDIR;CLANG_DEFAULT_LINKER;COMPILER_RT_USE_BUILTINS_LIBRARY;COMPILER_RT_INCLUDE_TESTS;LIBUNWIND_ENABLE_SHARED;LIBCXXABI_ENABLE_SHARED;LIBCXXABI_USE_COMPILER_RT;LIBCXXABI_USE_LLVM_UNWINDER;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;OPENMP_USE_LLVM_UNWINDER;LIBOMP_ENABLE_RTTI;PYTHON_EXECUTABLE"
|
||||
-DBOOTSTRAP_RUNTIMES_CMAKE_ARGS="-DCMAKE_CXX_FLAGS=$(BOOTSTRAP_CXXFLAGS_EXTRA);-DCMAKE_EXE_LINKER_FLAGS=$(BOOTSTRAP_LDFLAGS_EXTRA) -L$(STAGE1_LIB_DIR);-DCMAKE_SHARED_LINKER_FLAGS=$(BOOTSTRAP_LDFLAGS_EXTRA) -L$(STAGE1_LIB_DIR);-DCMAKE_MODULE_LINKER_FLAGS=$(BOOTSTRAP_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_HOST_TRIPLE;LLVM_ENABLE_PIC;LLVM_ENABLE_RTTI;LLVM_ENABLE_ASSERTIONS;LLVM_INCLUDE_GO_TESTS;LLVM_BINUTILS_INCDIR;CLANG_DEFAULT_LINKER;COMPILER_RT_USE_BUILTINS_LIBRARY;COMPILER_RT_INCLUDE_TESTS;LIBUNWIND_ENABLE_SHARED;LIBCXXABI_ENABLE_SHARED;LIBCXXABI_USE_COMPILER_RT;LIBCXXABI_USE_LLVM_UNWINDER;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;OPENMP_USE_LLVM_UNWINDER;LIBOMP_LIBFLAGS;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)"; \
|
||||
@ -560,12 +558,13 @@ debian-libclc-build:
|
||||
-G $(GENERATOR) \
|
||||
-DCMAKE_C_COMPILER=$(STAGE2_BIN_DIR)/clang \
|
||||
-DCMAKE_CXX_COMPILER=$(STAGE2_BIN_DIR)/clang++ \
|
||||
-DCMAKE_CXX_FLAGS="$(BOOTSTRAP_CXXFLAGS_EXTRA)" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="$(BOOTSTRAP_LDFLAGS_EXTRA) -L$(STAGE2_LIB_DIR)" \
|
||||
-DCMAKE_MODULE_LINKER_FLAGS="$(BOOTSTRAP_LDFLAGS_EXTRA) -L$(STAGE2_LIB_DIR)" \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="$(BOOTSTRAP_LDFLAGS_EXTRA) -L$(STAGE2_LIB_DIR)" \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_DATADIR=lib \
|
||||
-DCMAKE_INSTALL_INCLUDEDIR=include \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="-L$(STAGE2_LIB_DIR)" \
|
||||
-DCMAKE_MODULE_LINKER_FLAGS="-L$(STAGE2_LIB_DIR)" \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="-L$(STAGE2_LIB_DIR)" \
|
||||
-DLLVM_CONFIG=$(STAGE2_BIN_DIR)/llvm-config \
|
||||
-DLIBCLC_TARGETS_TO_BUILD=$(LIBCLC_TARGETS_TO_BUILD); \
|
||||
ninja $(NJOBS) $(VERBOSE)
|
||||
|
Loading…
Reference in New Issue
Block a user