]> git.proxmox.com Git - llvm-toolchain.git/commitdiff
* Add a stage1 profile to disable curl, grpc and spirv.
authorMatthias Klose <doko@ubuntu.com>
Sat, 16 Mar 2024 21:16:18 +0000 (22:16 +0100)
committerMatthias Klose <doko@ubuntu.com>
Sat, 16 Mar 2024 21:16:18 +0000 (22:16 +0100)
  * Build with --as-needed.

debian/changelog
debian/control
debian/control.in
debian/rules

index a6098d2995ed5c039c1d7a4a0419ee425397c315..c6f8d697db23c49e5cc29bbfcfd663cefdab0d19 100644 (file)
@@ -1,3 +1,11 @@
+llvm-toolchain-16 (1:16.0.6-24) UNRELEASED; urgency=medium
+
+  [ Matthias Klose ]
+  * Add a stage1 profile to disable curl, grpc and spirv.
+  * Build with --as-needed.
+
+ -- Matthias Klose <doko@debian.org>  Sat, 16 Mar 2024 22:12:22 +0100
+
 llvm-toolchain-16 (1:16.0.6-23) unstable; urgency=medium
 
   [ Matthias Klose ]
index aa8c1d5dc3da47a7c257658ef5382e868fe47bfc..9a8529e1fb3baa8fec68566a424e00ae166f7eb8 100644 (file)
@@ -26,13 +26,13 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
     llvm-spirv-16 [ amd64 arm64 armel armhf i386 mips64el ppc64el riscv64 s390x ] <!stage1> |
     llvm-spirv-15 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] <!stage1> |
     llvm-spirv-14 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] <!stage1> | hello,
-    spirv-tools [ linux-any ] | hello [ !i386],
+    spirv-tools [ linux-any ] <!stage1> | hello [ !i386],
     wasi-libc | hello,
-    libcurl4-openssl-dev | libcurl-dev,
-    libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
-    protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
-    libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
-    protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x]
+    libcurl4-openssl-dev <!stage1> | libcurl-dev <!stage1>,
+    libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
 # "| hello" is for older buster/bionic distros without spirv support
 Build-Conflicts: oprofile
 Standards-Version: 4.6.2
index 0cf5a2c77dd8c444e2466d44de89a8b21b696c6e..07a8474751e56fd3db2eb03c2384990ccf0f8c50 100644 (file)
@@ -26,13 +26,13 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
     llvm-spirv-16 [ amd64 arm64 armel armhf i386 mips64el ppc64el riscv64 s390x ] <!stage1> |
     llvm-spirv-15 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] <!stage1> |
     llvm-spirv-14 [ amd64 arm64 armel armhf i386 mips64el mipsel ppc64el riscv64 s390x ] <!stage1> | hello,
-    spirv-tools [ linux-any ] | hello [ !i386],
+    spirv-tools [ linux-any ] <!stage1> | hello [ !i386],
     wasi-libc | hello,
-    libcurl4-openssl-dev | libcurl-dev,
-    libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
-    protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
-    libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x],
-    protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x]
+    libcurl4-openssl-dev <!stage1> | libcurl-dev <!stage1>,
+    libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
+    protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] <!stage1>,
 # "| hello" is for older buster/bionic distros without spirv support
 Build-Conflicts: oprofile
 Standards-Version: 4.6.2
index a437a8dee1ed37e9816f6fc98d1ba4696ba547b1..63da6d0feacbb33687a0325ad1565f9315b4984e 100755 (executable)
@@ -64,7 +64,7 @@ include /usr/share/dpkg/buildflags.mk
 # collect additional flags for all stages all builds
 CFLAGS_EXTRA = -Wno-unused-command-line-argument
 CXXFLAGS_EXTRA = -Wno-unused-command-line-argument
-LDFLAGS_EXTRA = -Wl,--build-id
+LDFLAGS_EXTRA = -Wl,--build-id,--as-needed
 
 # collect all flags for stage 1 toolchain build only
 STAGE_1_CFLAGS = $(CFLAGS) $(CFLAGS_EXTRA) $(CPPFLAGS)
@@ -137,6 +137,7 @@ STAGE_2_CMAKE_EXTRA += -DCLANG_SYSTEMZ_DEFAULT_ARCH=$(ZARCH)
 # clangd remote index support requires GRPC & protobuf.
 # Enable if minimum tested versions are available.
 CLANGD_GRPC_INSTALLED=no
+ifeq (,$(filter stage1, $(DEB_BUILD_PROFILES)))
 ifeq ($(shell v=$$(dpkg-query -W -f '$${Version}' libgrpc++-dev 2>/dev/null); if [ -z "$$v" ]; then echo 1; else dpkg --compare-versions $$v gt 1.30.0; echo $$?; fi),0)
 ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' protobuf-compiler-grpc) gt 1.30.0; echo $$?),0)
 ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' libprotobuf-dev) gt 3.12.0; echo $$?),0)
@@ -147,6 +148,7 @@ endif
 endif
 endif
 endif
+endif
 
 export CC=gcc-$(GCC_VERSION)
 export CXX=g++-$(GCC_VERSION)
@@ -252,6 +254,9 @@ else
        control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev'
 endif
 
+ifneq (,$(filter stage1, $(DEB_BUILD_PROFILES)))
+       LLVM_SPIRV_INSTALLED = no
+else
 LLVM_SPIRV_VERSION := $(LLVM_VERSION)
 LLVM_SPIRV := $(shell bash -c "command -v llvm-spirv-$(LLVM_SPIRV_VERSION)" 2>/dev/null)
 ifndef LLVM_SPIRV
@@ -273,6 +278,7 @@ else
                LLVM_SPIRV_INSTALLED = yes
        endif
 endif
+endif
 
 LIBCLC_TARGETS_TO_BUILD=amdgcn--;amdgcn--amdhsa;amdgcn-mesa-mesa3d;r600--;nvptx--;nvptx64--;nvptx--nvidiacl;nvptx64--nvidiacl
 LIBCLC_LLVM_SPIRV =
@@ -675,7 +681,7 @@ endif
        -DLLVM_INCLUDE_GO_TESTS=OFF \
        -DLLVM_USE_RELATIVE_PATHS_IN_FILES=ON \
        -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \
-       -DLLVM_ENABLE_CURL=ON \
+       -DLLVM_ENABLE_CURL=$(if $(filter stage1, $(DEB_BUILD_PROFILES)),OFF,ON) \
        -DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO=ON \
        -DCLANG_PLUGIN_SUPPORT=OFF \
        -DCLANG_BUILD_EXAMPLES=OFF \
@@ -727,7 +733,7 @@ endif
        -DBOOTSTRAP_LLVM_POLLY_LINK_INTO_TOOLS=ON \
        -DBOOTSTRAP_LLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa" \
        -DBOOTSTRAP_LLVM_LINK_LLVM_DYLIB=ON \
-       -DBOOTSTRAP_LLVM_ENABLE_CURL=ON \
+       -DBOOTSTRAP_LLVM_ENABLE_CURL=$(if $(filter stage1, $(DEB_BUILD_PROFILES)),OFF,ON) \
        -DBOOTSTRAP_CLANG_LINK_CLANG_DYLIB=ON \
        -DBOOTSTRAP_LIBCLANG_LIBRARY_VERSION=$(SONAME_EXT) \
        -DBOOTSTRAP_LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON \