From f0f580b0b513e8c12c02f9d31bf9eb569d417fde Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Mon, 27 Sep 2021 15:32:14 +0200 Subject: [PATCH] Add new llvm-11-linker-tools --- debian/control | 17 ++++++++++++++++- debian/llvm-X.Y-dev.install.in | 3 +-- debian/llvm-X.Y-linker-tools.install.in | 4 ++++ debian/rules | 13 ++++++++++++- 4 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 debian/llvm-X.Y-linker-tools.install.in diff --git a/debian/control b/debian/control index ecd71eb6..ef4be0c2 100644 --- a/debian/control +++ b/debian/control @@ -32,6 +32,7 @@ Package: clang-11 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, ${dep:devlibs-objc}, libclang-common-11-dev (= ${binary:Version}), + llvm-11-linker-tools (= ${binary:Version}), libclang1-11 (= ${binary:Version}), libc6-dev, binutils Provides: c-compiler, objc-compiler, c++-compiler Recommends: llvm-11-dev, python3, libomp-11-dev @@ -282,10 +283,24 @@ Description: Modular compiler and toolchain technologies, runtime library . This package contains the LLVM runtime library. +Package: llvm-11-linker-tools +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: llvm-11-dev (<< 1:11.1.0-2) +Replaces: llvm-11-dev (<< 1:11.1.0-2) +Description: Modular compiler and toolchain technologies + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + This package contains the LLVMgold and LLVMPolly linker plugins. + Package: llvm-11 Architecture: any Suggests: llvm-11-doc -Depends: llvm-11-runtime (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Depends: llvm-11-runtime (= ${binary:Version}), + llvm-11-linker-tools (= ${binary:Version}), + ${shlibs:Depends}, ${misc:Depends} Recommends: llvm-11-dev Description: Modular compiler and toolchain technologies LLVM is a collection of libraries and tools that make it easy to build diff --git a/debian/llvm-X.Y-dev.install.in b/debian/llvm-X.Y-dev.install.in index a6acd028..aab9970a 100644 --- a/debian/llvm-X.Y-dev.install.in +++ b/debian/llvm-X.Y-dev.install.in @@ -2,10 +2,9 @@ usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM*.a #usr/lib/llvm-@LLVM_VERSION@/lib/libllvm*.a -[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/LLVM*.so usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM.so usr/lib/llvm-@LLVM_VERSION@/lib/libLLVM-@LLVM_VERSION@*.so -usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.* +usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.so usr/lib/llvm-@LLVM_VERSION@/lib/libRemarks.* usr/lib/llvm-@LLVM_VERSION@/include/llvm/ usr/include/llvm-@LLVM_VERSION@/ usr/lib/llvm-@LLVM_VERSION@/include/llvm-c/ usr/include/llvm-c-@LLVM_VERSION@/ diff --git a/debian/llvm-X.Y-linker-tools.install.in b/debian/llvm-X.Y-linker-tools.install.in new file mode 100644 index 00000000..3aeaab5c --- /dev/null +++ b/debian/llvm-X.Y-linker-tools.install.in @@ -0,0 +1,4 @@ +#!/usr/bin/dh-exec + +usr/lib/llvm-@LLVM_VERSION@/lib/libLTO.so.@LLVM_VERSION@ +[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/LLVM*.so diff --git a/debian/rules b/debian/rules index 23bc0146..5ef8985c 100755 --- a/debian/rules +++ b/debian/rules @@ -325,7 +325,12 @@ preconfigure: done # Make install file executable for dh-exec - chmod +x debian/llvm-$(LLVM_VERSION)-dev.install debian/libclang-common-$(LLVM_VERSION)-dev.install debian/clang-tools-$(LLVM_VERSION).install debian/libomp-$(LLVM_VERSION)-dev.install + chmod +x \ + debian/clang-tools-$(LLVM_VERSION).install \ + debian/libclang-common-$(LLVM_VERSION)-dev.install \ + debian/libomp-$(LLVM_VERSION)-dev.install \ + debian/llvm-$(LLVM_VERSION)-dev.install \ + debian/llvm-$(LLVM_VERSION)-linker-tools.install # Override this two targets. They are trying to manage the .in conversion for me override_dh_ocamlinit: @@ -877,5 +882,11 @@ override_dh_auto_clean: if test -f lld/docs/ld.lld-$(LLVM_VERSION).1; then \ mv lld/docs/ld.lld-$(LLVM_VERSION).1 lld/docs/ld.lld.1; \ fi + for f in debian/*.in; do \ + f2=$$(echo $$f | sed 's/\.in$$//;s/X\.Y/$(LLVM_VERSION)/'); \ + rm -f $$f2; \ + done + : # for some reason, the docs are written to debian/usr and debian/man ... + rm -rf debian/usr debian/man .PHONY: override_dh_strip preconfigure debian-full-build debian-libfuzzer-build debian-libcxx-build debian-libcxxabi-build