diff --git a/debian/changelog b/debian/changelog index 042854ef..7fecb263 100644 --- a/debian/changelog +++ b/debian/changelog @@ -331,6 +331,30 @@ llvm-toolchain-snapshot (1:13~++20210129063721+010b176cdefb-1~exp1) experimental -- Sylvestre Ledru Sat, 30 Jan 2021 17:31:15 +0100 +llvm-toolchain-12 (1:12.0.1-19) UNRELEASED; urgency=medium + + * Build clangd with GRPC support + Thanks to Sam McCall for the patch + + -- Sylvestre Ledru Sat, 29 Jan 2022 10:17:38 +0100 + +llvm-toolchain-12 (1:12.0.1-18) unstable; urgency=medium + + * Unbreak llvm-toolchain-12 on buster. + -fuse-ld=gold wasn't passed to compiler-rt. it was using bfd. + And binutils shipping in buster has a bug preventing this to work: + https://github.com/llvm/llvm-project/issues/42339 + * Rename ocaml-nox => ocaml-base (Closes: #1002608) + * Remove Build-Conflicts: ocaml + + -- Sylvestre Ledru Thu, 16 Dec 2021 17:49:22 +0100 + +llvm-toolchain-12 (1:12.0.1-17) unstable; urgency=medium + + * Rebuild to workaround the coinstallability issue (Closes: #996858) + + -- Sylvestre Ledru Tue, 30 Nov 2021 19:32:51 +0100 + llvm-toolchain-12 (1:12.0.1-16) unstable; urgency=medium [ Erik Maciejewski ] diff --git a/debian/control b/debian/control index 2a7c56ad..05e4df58 100644 --- a/debian/control +++ b/debian/control @@ -23,7 +23,8 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build, dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el riscv64 s390x], libpfm4-dev [linux-any], python3-setuptools, libz3-dev, llvm-spirv [ amd64 arm64 armel armhf mips64el mipsel ppc64el s390x ] | hello [!i386], - spirv-tools [ linux-any ] | hello [ !i386] + spirv-tools [ linux-any ] | hello [ !i386], + libgrpc++-dev, libprotobuf-dev, protobuf-compiler, protobuf-compiler-grpc # "| hello" is for older buster/bionic distros without spirv support Build-Conflicts: oprofile Standards-Version: 4.2.1 diff --git a/debian/rules b/debian/rules index 5d51b4ba..cad7f5a5 100755 --- a/debian/rules +++ b/debian/rules @@ -124,6 +124,18 @@ ZARCH=z13 endif STAGE_2_CMAKE_EXTRA += -DCLANG_SYSTEMZ_DEFAULT_ARCH=$(ZARCH) +# clangd remote index support requires GRPC & protobuf. +# Enable if minimum tested versions are available. +ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' libgrpc++-dev) gt 1.30.0; echo $$?),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) +ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' protobuf-compiler) gt 3.12.0; echo $$?),0) +STAGE_2_CMAKE_EXTRA += -DCLANGD_ENABLE_REMOTE=ON +endif +endif +endif +endif + export CC=gcc-$(GCC_VERSION) export CXX=g++-$(GCC_VERSION) @@ -406,6 +418,8 @@ preconfigure: @echo "LLVM_VERSION=$(LLVM_VERSION)" @echo "LLVM_VERSION_FULL=$(LLVM_VERSION_FULL)" @echo "LLVM_VERSION_SNAPSHOT=$(LLVM_VERSION_SNAPSHOT)" + @echo "PATH=$(PATH)" + @echo "LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)" for f in debian/*.in; do \ f2=$$(echo $$f | sed 's/\.in$$//;s/X\.Y/$(LLVM_VERSION)/'); \ @@ -679,7 +693,7 @@ override_dh_auto_install: # Clean up temporary files to make sure the install works rm -rf $(find $(TARGET_BUILD) -wholename '*CMakeFiles*' -not -name CMakeLists.txt -a -name "*.dir" -type d) # install/fast enables a make install without recompiling temporary files - DESTDIR=$(DEB_INST)/ ninja -C $(TARGET_BUILD) $(VERBOSE) stage2-install + LD_LIBRARY_PATH=$(STAGE_2_LIB_DIR) DESTDIR=$(DEB_INST)/ ninja -C $(TARGET_BUILD) $(VERBOSE) stage2-install # Not used on Linux. rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/argdumper @@ -691,6 +705,9 @@ override_dh_auto_install: # Remove an example - introduced in https://reviews.llvm.org/D61446 rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libBye.a + # Remove unused clangd lib + rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libRemoteIndexProto.a $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/libRemoteIndexServiceProto.a + cp $(TARGET_BUILD_STAGE2)/bin/clang-query $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin # Only run on executable, not script