* Move the compiler-rt content into a new package called

libclang-rt-X.Y-dev (including polly)
* the wasm targets are shipped into libclang-rt-14-dev-wasm32
  and libclang-rt-14-dev-wasm64
* libclang-common-X.Y-dev arch moved to all
This commit is contained in:
Sylvestre Ledru 2022-12-24 12:13:45 +01:00
parent 882ec835f6
commit d24f4d88f1
11 changed files with 133 additions and 18 deletions

10
debian/changelog vendored
View File

@ -1,3 +1,13 @@
llvm-toolchain-14 (1:14.0.6-10~exp4) UNRELEASED; urgency=medium
* Move the compiler-rt content into a new package called
libclang-rt-X.Y-dev (including polly)
* the wasm targets are shipped into libclang-rt-14-dev-wasm32
and libclang-rt-14-dev-wasm64
* libclang-common-X.Y-dev arch moved to all
-- Sylvestre Ledru <sylvestre@debian.org> Wed, 21 Dec 2022 13:48:40 +0100
llvm-toolchain-14 (1:14.0.6-10~exp3) experimental; urgency=medium
* Transform debian/control into debian/control.in (preparation for

48
debian/control vendored
View File

@ -16,7 +16,7 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
lcov, procps, help2man, zlib1g-dev,
g++-multilib [amd64 i386 kfreebsd-amd64 mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32],
libjs-mathjax, python3-recommonmark,
doxygen, gfortran,
doxygen,
ocaml-base [amd64 arm64 armhf ppc64el riscv64 s390x] | ocaml-nox [amd64 arm64 armhf ppc64el riscv64 s390x],
ocaml-findlib [amd64 arm64 armhf ppc64el riscv64 s390x],
libctypes-ocaml-dev [amd64 arm64 armhf ppc64el riscv64 s390x],
@ -167,9 +167,10 @@ Description: Clang library - Development package
libclang1-14.
Package: libclang-common-14-dev
Architecture: any
Architecture: all
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm14 (= ${binary:Version})
Recommends: libclang-rt-14-dev (>= 14.0.6-10~exp4)
Description: Clang library - Common development package
Clang project is a C, C++, Objective C and Objective C++ front-end
based on the LLVM compiler. Its goal is to offer a replacement to the
@ -178,8 +179,47 @@ Description: Clang library - Common development package
Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
provides most of the support of C++20.
.
This package contains the Clang generic headers and some libraries
(profiling, etc).
This package contains the Clang generic headers.
Package: libclang-rt-14-dev
Architecture: any
Multi-Arch: same
Section: libdevel
Breaks: libclang-common-14-dev (<< 14.0.6-10~exp4)
Replaces: libclang-common-14-dev (<< 14.0.6-10~exp4)
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Compiler-rt - development package
This package provides various libraries:
.
* builtins - Simple libraries that provide implementation of the
low-level target-specific hooks required by code generation
and other runtime components.
* sanitizer runtimes - AddressSanitizer, ThreadSanitizer,
UndefinedBehaviorSanitizer, MemorySanitizer, LeakSanitizer
DataFlowSanitizer, etc
* profile - Library which is used to collect coverage information.
Package: libclang-rt-14-dev-wasm32
Architecture: all
Multi-Arch: foreign
Section: libdevel
Breaks: libclang-common-14-dev (<< 14.0.6-10~exp4)
Replaces: libclang-common-14-dev (<< 14.0.6-10~exp4)
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libclang-common-14-dev (>= 14.0.6-10~exp4)
Description: Compiler-rt - wasm32 builtins
Provides the compiler-rt builtins for WebAssembly 32 bits
Package: libclang-rt-14-dev-wasm64
Architecture: all
Multi-Arch: foreign
Section: libdevel
Breaks: libclang-common-14-dev (<< 14.0.6-10~exp4)
Replaces: libclang-common-14-dev (<< 14.0.6-10~exp4)
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libclang-common-14-dev (>= 14.0.6-10~exp4)
Description: Compiler-rt - development package
Provides the compiler-rt builtins for WebAssembly 32 bits
Package: libclang-cpp14
Section: libs

48
debian/control.in vendored
View File

@ -16,7 +16,7 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build,
lcov, procps, help2man, zlib1g-dev,
g++-multilib [amd64 i386 kfreebsd-amd64 mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32],
libjs-mathjax, python3-recommonmark,
doxygen, gfortran,
doxygen,
ocaml-base [amd64 arm64 armhf ppc64el riscv64 s390x] | ocaml-nox [amd64 arm64 armhf ppc64el riscv64 s390x],
ocaml-findlib [amd64 arm64 armhf ppc64el riscv64 s390x],
libctypes-ocaml-dev [amd64 arm64 armhf ppc64el riscv64 s390x],
@ -167,9 +167,10 @@ Description: Clang library - Development package
libclang1-@LLVM_VERSION@.
Package: libclang-common-@LLVM_VERSION@-dev
Architecture: any
Architecture: all
Section: libdevel
Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version})
Recommends: libclang-rt-@LLVM_VERSION@-dev (>= 14.0.6-10~exp4)
Description: Clang library - Common development package
Clang project is a C, C++, Objective C and Objective C++ front-end
based on the LLVM compiler. Its goal is to offer a replacement to the
@ -178,8 +179,47 @@ Description: Clang library - Common development package
Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also
provides most of the support of C++20.
.
This package contains the Clang generic headers and some libraries
(profiling, etc).
This package contains the Clang generic headers.
Package: libclang-rt-@LLVM_VERSION@-dev
Architecture: any
Multi-Arch: same
Section: libdevel
Breaks: libclang-common-@LLVM_VERSION@-dev (<< 14.0.6-10~exp4)
Replaces: libclang-common-@LLVM_VERSION@-dev (<< 14.0.6-10~exp4)
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Compiler-rt - development package
This package provides various libraries:
.
* builtins - Simple libraries that provide implementation of the
low-level target-specific hooks required by code generation
and other runtime components.
* sanitizer runtimes - AddressSanitizer, ThreadSanitizer,
UndefinedBehaviorSanitizer, MemorySanitizer, LeakSanitizer
DataFlowSanitizer, etc
* profile - Library which is used to collect coverage information.
Package: libclang-rt-@LLVM_VERSION@-dev-wasm32
Architecture: all
Multi-Arch: foreign
Section: libdevel
Breaks: libclang-common-@LLVM_VERSION@-dev (<< 14.0.6-10~exp4)
Replaces: libclang-common-@LLVM_VERSION@-dev (<< 14.0.6-10~exp4)
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libclang-common-@LLVM_VERSION@-dev (>= 14.0.6-10~exp4)
Description: Compiler-rt - wasm32 builtins
Provides the compiler-rt builtins for WebAssembly 32 bits
Package: libclang-rt-@LLVM_VERSION@-dev-wasm64
Architecture: all
Multi-Arch: foreign
Section: libdevel
Breaks: libclang-common-@LLVM_VERSION@-dev (<< 14.0.6-10~exp4)
Replaces: libclang-common-@LLVM_VERSION@-dev (<< 14.0.6-10~exp4)
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: libclang-common-@LLVM_VERSION@-dev (>= 14.0.6-10~exp4)
Description: Compiler-rt - development package
Provides the compiler-rt builtins for WebAssembly 32 bits
Package: libclang-cpp@LLVM_VERSION@
Section: libs

View File

@ -1,9 +1,9 @@
#!/usr/bin/dh-exec
#usr/lib/llvm-@LLVM_VERSION@/include/polly
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/*.txt
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/share/*.txt
[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/libPolly*.a
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/*.h
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/module.modulemap
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/xray/
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/profile/
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/ppc_wrappers/
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/openmp_wrappers/
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/cuda_wrappers/

View File

@ -0,0 +1,2 @@
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm32.a

View File

@ -0,0 +1,4 @@
libclang-rt-@LLVM_VERSION@-dev-wasm32: arch-independent-package-contains-binary-or-object *usr/lib/llvm-@LLVM_VERSION@/lib/*
libclang-rt-@LLVM_VERSION@-dev-wasm32: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/*
# wasm code
libclang-rt-@LLVM_VERSION@-dev-wasm32: no-code-sections *usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm32.a*

View File

@ -0,0 +1,2 @@
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm64.a

View File

@ -0,0 +1,4 @@
libclang-rt-@LLVM_VERSION@-dev-wasm64: arch-independent-package-contains-binary-or-object *usr/lib/llvm-@LLVM_VERSION@/lib/*
libclang-rt-@LLVM_VERSION@-dev-wasm64: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/*
# wasm code
libclang-rt-@LLVM_VERSION@-dev-wasm64: no-code-sections *usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm64.a*

9
debian/libclang-rt-X.Y-dev.install.in vendored Normal file
View File

@ -0,0 +1,9 @@
#!/usr/bin/dh-exec
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/share/*.txt
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/sanitizer/
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/linux/*clang_rt*
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/README.txt
usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/include/fuzzer/
[!powerpc !powerpcspe] usr/lib/llvm-@LLVM_VERSION@/lib/libPolly*.a

View File

@ -0,0 +1,2 @@
libclang-rt-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *usr/lib/llvm-@LLVM_VERSION@/lib/*
libclang-rt-@LLVM_VERSION@-dev: no-code-sections *usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION@*/lib/linux/libclang_rt.asan_static-i386.a*

6
debian/rules vendored
View File

@ -490,7 +490,7 @@ preconfigure:
chmod +x \
debian/clang-tools-$(LLVM_VERSION).install \
debian/libclang-$(LLVM_VERSION)-dev.install \
debian/libclang-common-$(LLVM_VERSION)-dev.install \
debian/libclang-rt-$(LLVM_VERSION)-dev.install \
debian/libomp-$(LLVM_VERSION)-dev.install \
debian/llvm-$(LLVM_VERSION)-dev.install \
debian/llvm-$(LLVM_VERSION)-linker-tools.install \
@ -932,6 +932,8 @@ override_dh_auto_install:
# Only run on executable, not script
chrpath -d `find $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/bin/ -type f -executable -exec file -i '{}' \; | grep 'x-executable; charset=binary'|cut -d: -f1`
# To fix custom-library-search-path
chrpath -d $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)*/lib/linux/*.so
: # libclang
cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && \
@ -1308,6 +1310,6 @@ override_dh_auto_clean:
: # for some reason, the docs are written to debian/usr and debian/man ...
rm -rf debian/usr debian/man
: # remove extra stamps
rm -f debian-*-build
rm -f debian-*-build override_dh_auto_install sccache-stats build_doc
.PHONY: override_dh_strip preconfigure