mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-06-27 15:51:58 +00:00
For apt.llvm.org on stretch, from snapshot, also use libc++ for the build. It adds a dependency on libc++. It might be extended in the future for for now, it is Debian/stretch only
This commit is contained in:
parent
a6baf364f5
commit
89fafb13d8
3
debian/changelog
vendored
3
debian/changelog
vendored
@ -4,6 +4,9 @@ llvm-toolchain-snapshot (1:16~++20220727093617+17fb879764dc-1~exp1) experimental
|
||||
* clang doesn't have a specific SONAME anymore.
|
||||
See https://reviews.llvm.org/D129160 for the rational
|
||||
* Install clang-tblgen in clang-tools-X.Y
|
||||
* For apt.llvm.org on stretch, from snapshot, also use libc++ for the
|
||||
build. It adds a dependency on libc++. It might be extended in
|
||||
the future for for now, it is Debian/stretch only
|
||||
|
||||
-- Sylvestre Ledru <sylvestre@debian.org> Wed, 27 Jul 2022 21:36:27 +0200
|
||||
|
||||
|
20
debian/rules
vendored
20
debian/rules
vendored
@ -62,6 +62,11 @@ LDFLAGS_EXTRA = -Wl,--build-id
|
||||
STAGE_1_CFLAGS = $(CFLAGS) $(CFLAGS_EXTRA) $(CPPFLAGS)
|
||||
STAGE_1_CXXFLAGS = $(CXXFLAGS) $(CXXFLAGS_EXTRA) $(CPPFLAGS)
|
||||
STAGE_1_LDFLAGS = $(LDFLAGS) $(LDFLAGS_EXTRA)
|
||||
# If we build with libc++, we might want to set different arguments for
|
||||
# stage 1 & runtimes
|
||||
RUNTIMES_CFLAGS = $(STAGE_1_CFLAGS)
|
||||
RUNTIMES_CXXFLAGS := $(STAGE_1_CXXFLAGS)
|
||||
RUNTIMES_LDFLAGS := $(STAGE_1_LDFLAGS)
|
||||
|
||||
# collect all flags for stage 2 toolchain and stand-alone builds
|
||||
STAGE_2_CFLAGS = $(CFLAGS) $(CFLAGS_EXTRA) $(CPPFLAGS)
|
||||
@ -106,7 +111,16 @@ ifneq (,$(filter $(DISTRO),stretch))
|
||||
# GCC_VERSION := 7
|
||||
# Don't enable lld python for old distros
|
||||
STAGE_ALL_CMAKE_EXTRA += -DLLDB_ENABLE_PYTHON=OFF
|
||||
# Only enabled for stage 1, for stage2, it will use the local libc++ version
|
||||
STAGE_1_CMAKE_EXTRA += -DCLANG_DEFAULT_CXX_STDLIB=libc++
|
||||
STAGE_1_CMAKE_EXTRA += -DLLVM_ENABLE_LIBCXX=ON
|
||||
STAGE_1_CXXFLAGS += -I/usr/lib/llvm-14/include/c++/v1/ -stdlib=libc++
|
||||
STAGE_1_LDFLAGS += -stdlib=libc++
|
||||
USE_CLANG_PACKAGE_TO_BUILD_ITSELF = yes
|
||||
else
|
||||
# For all other deb/ubuntu, use libstdc++
|
||||
# TODO: At some point, we might want to use libc++
|
||||
CMAKE_EXTRA += -DCLANG_DEFAULT_CXX_STDLIB=libstdc++
|
||||
endif
|
||||
|
||||
Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=OFF
|
||||
@ -462,6 +476,9 @@ preconfigure:
|
||||
@echo "LLVM_VERSION_SNAPSHOT=$(LLVM_VERSION_SNAPSHOT)"
|
||||
@echo "PATH=$(PATH)"
|
||||
@echo "LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)"
|
||||
@echo "RUNTIMES_CXXFLAGS=$(RUNTIMES_CXXFLAGS)"
|
||||
@echo "STAGE_1_CXXFLAGS=$(STAGE_1_CXXFLAGS)"
|
||||
@echo "STAGE_2_CFLAGS=$(STAGE_2_CFLAGS)"
|
||||
|
||||
for f in debian/*.in; do \
|
||||
f2=$$(echo $$f | sed 's/\.in$$//;s/X\.Y/$(LLVM_VERSION)/'); \
|
||||
@ -580,7 +597,6 @@ override_dh_auto_configure: preconfigure
|
||||
-DCLANG_PLUGIN_SUPPORT=OFF \
|
||||
-DCLANG_BUILD_EXAMPLES=OFF \
|
||||
-DCLANG_DEFAULT_LINKER=ld \
|
||||
-DCLANG_DEFAULT_CXX_STDLIB=libstdc++ \
|
||||
-DCLANG_DEFAULT_RTLIB=libgcc \
|
||||
-DCOMPILER_RT_BUILD_XRAY=OFF \
|
||||
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
|
||||
@ -632,7 +648,7 @@ override_dh_auto_configure: preconfigure
|
||||
-DBOOTSTRAP_PYTHON_EXECUTABLE=/usr/bin/python3 \
|
||||
$(BOOTSTRAP_CMAKE_EXTRA) \
|
||||
-DBOOTSTRAP_BUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_2_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_2_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-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);-DCMAKE_CXX_FLAGS=$(STAGE_2_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-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);-DCMAKE_CXX_FLAGS=$(RUNTIMES_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$(opt_flags);-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF"
|
||||
|
||||
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 \
|
||||
|
Loading…
Reference in New Issue
Block a user