Merge branch 'reshabh-guest/llvm-toolchain-co-installability' into 7

This commit is contained in:
Sylvestre Ledru 2018-09-13 21:31:24 +02:00
commit 288cf16419
18 changed files with 53 additions and 48 deletions

5
debian/changelog vendored
View File

@ -1,7 +1,12 @@
llvm-toolchain-7 (1:7~+rc3-4) UNRELEASED; urgency=medium
[ Sylvestre Ledru ]
* libc++-7-dev doesn't provide libstdc++-dev anymore (Closes: #908738)
[ Reshabh Sharma ]
* Make OpenMP packages coinstallable
* Make libc++ packages coinstallable
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 13 Sep 2018 15:26:41 +0200
llvm-toolchain-7 (1:7~+rc3-3) unstable; urgency=medium

19
debian/control vendored
View File

@ -484,9 +484,6 @@ Section: libdevel
Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64
Depends: libomp5-7 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Suggests: libomp-7-doc
Replaces: libiomp-dev (<< 3.7-1), libomp-dev (<< 7~+rc1-1~exp1)
Breaks: libiomp-dev (<< 3.7-1), libomp-dev (<< 7~+rc1-1~exp1)
Provides: libomp-dev
Description: LLVM OpenMP runtime - dev package
The runtime is the part of the OpenMP implementation that your code is
linked against, and that manages the multiple threads in an OpenMP program
@ -496,10 +493,6 @@ Package: libomp5-7
Multi-Arch: same
Architecture: amd64 arm64 armhf i386 mips64el ppc64el ppc64
Depends: ${shlibs:Depends}, ${misc:Depends}
Replaces: libomp5 (<< 7~+rc1-1~exp1)
Breaks: libomp5 (<< 7~+rc1-1~exp1)
Provides: libomp5
# TODO add the break depends
Description: LLVM OpenMP runtime
The runtime is the part of the OpenMP implementation that your code is
linked against, and that manages the multiple threads in an OpenMP program
@ -527,9 +520,6 @@ Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: clang
Replaces: libc++1 (<< 7~+rc1-1~exp1)
Breaks: libc++1 (<< 7~+rc1-1~exp1)
Provides: libc++1
Description: LLVM C++ Standard library
libc++ is another implementation of the C++ standard library.
.
@ -548,9 +538,6 @@ Section: libdevel
Architecture: any
Multi-Arch: same
Depends: libc++1-7 (= ${binary:Version}), ${misc:Depends}
Provides: libc++-dev
Breaks: libc++-dev (<< 7~+rc1-1~exp1)
Replaces: libc++-dev (<< 7~+rc1-1~exp1)
Description: LLVM C++ Standard library (development files)
libc++ is another implementation of the C++ standard library
.
@ -572,9 +559,6 @@ Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Breaks: libc++abi1 (<< 7~+rc1-1~exp1)
Provides: libc++abi1
Replaces: libc++abi1 (<< 7~+rc1-1~exp1)
Description: LLVM low level support for a standard C++ library
libc++abi is another implementation of low level support for a standard C++
library.
@ -589,9 +573,6 @@ Section: libdevel
Architecture: any
Multi-Arch: same
Depends: libc++abi1-7 (= ${binary:Version}), ${misc:Depends}
Replaces: libc++-dev (<= 6.0.1-1), libc++abi-dev (<= 6.0.1-1)
Breaks: libc++-dev (<= 6.0.1-1), libc++abi-dev (<= 6.0.1-1)
Provides: libc++abi-dev
Description: LLVM low level support for a standard C++ library (development files)
libc++abi is another implementation of low level support for a standard C++
library.

View File

@ -1,5 +1,5 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so
usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a
usr/lib/llvm-@LLVM_VERSION@/lib/libc++-@LLVM_VERSION@.so usr/lib/@DEB_HOST_MULTIARCH@/
usr/lib/llvm-@LLVM_VERSION@/lib/libc++-@LLVM_VERSION@.a usr/lib/@DEB_HOST_MULTIARCH@/
usr/lib/llvm-@LLVM_VERSION@/lib/libc++fs.a
usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a
usr/lib/llvm-@LLVM_VERSION@/include/c++/

View File

@ -1,3 +1,2 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so /usr/lib/x86_64-linux-gnu/libc++.so
usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a /usr/lib/x86_64-linux-gnu/libc++.a
usr/lib/llvm-@LLVM_VERSION@/include/c++ /usr/include/c++
/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.so /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so
/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.a /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a

View File

@ -1 +1 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.*
usr/lib/llvm-@LLVM_VERSION@/lib/libc++-@LLVM_VERSION@.so.* usr/lib/@DEB_HOST_MULTIARCH@

View File

@ -1,2 +1,2 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0
/usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1
/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.so.1.0 /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0
/usr/lib/@DEB_HOST_MULTIARCH@/libc++-@LLVM_VERSION@.so.1 /usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1

View File

@ -1 +1,2 @@
libc++1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.1.0
libc++1-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libc++.so.1 usr/lib/*/libc++-@LLVM_VERSION@.so.1.0 libc++.so.1

View File

@ -1,3 +1,3 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi*so
usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a
usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi-@LLVM_VERSION@*so usr/lib/@DEB_HOST_MULTIARCH@/
usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi-@LLVM_VERSION@.a usr/lib/@DEB_HOST_MULTIARCH@/
libcxxabi/include/* usr/lib/llvm-@LLVM_VERSION@/include/

View File

@ -1 +1,2 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so
usr/lib/@DEB_HOST_MULTIARCH@/libc++abi-@LLVM_VERSION@.so usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so
usr/lib/@DEB_HOST_MULTIARCH@/libc++abi-@LLVM_VERSION@.a usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.a

View File

@ -1 +1,2 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.*
usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi-@LLVM_VERSION@.so.* usr/lib/@DEB_HOST_MULTIARCH@/
usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1

View File

@ -1,2 +1 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0
/usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0 /usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1
/usr/lib/@DEB_HOST_MULTIARCH@/libc++abi-@LLVM_VERSION@.so.1.0 /usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0

View File

@ -1 +1,2 @@
libc++abi1-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.1.0
libc++abi1-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libc++abi.so.1 usr/lib/*/libc++abi-@LLVM_VERSION@.so.1.0 libc++abi.so.1

5
debian/libomp-X.Y-dev.links.in vendored Normal file
View File

@ -0,0 +1,5 @@
/usr/lib/llvm-@LLVM_VERSION@/lib/libgomp.so /usr/lib/@DEB_HOST_MULTIARCH@/libgomp-@LLVM_VERSION@.so
/usr/lib/llvm-@LLVM_VERSION@/lib/libiomp5.so /usr/lib/@DEB_HOST_MULTIARCH@/libiomp5-@LLVM_VERSION@.so
/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 /usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so
/usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so /usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so
/usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so /usr/lib/@DEB_HOST_MULTIARCH@/libomp-@LLVM_VERSION@.so

View File

@ -1 +1,3 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5
usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5 /usr/lib/@DEB_HOST_MULTIARCH@/
usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5
usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5

View File

@ -1,3 +1,2 @@
usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5 /usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5
/usr/lib/@DEB_HOST_MULTIARCH@/libomp-@LLVM_VERSION@.so.5 /usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5
/usr/lib/llvm-@LLVM_VERSION@/lib/libomp-@LLVM_VERSION@.so.5 /usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5

View File

@ -1 +1,2 @@
libomp5-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory usr/lib/llvm-@LLVM_VERSION@/lib/libomp.so.5
libomp5-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libomp.so.5 usr/lib/*/libomp-@LLVM_VERSION@.so.5 libomp.so.5

View File

@ -182,7 +182,7 @@ int main(void) {
printf("thread %d\n", omp_get_thread_num());
}
' > foo.c
clang-$VERSION foo.c -fopenmp -o o
clang-$VERSION foo.c -L/usr/lib/llvm-$VERSION/lib -fopenmp -o o
./o > /dev/null
if test ! -f /usr/lib/llvm-$VERSION/include/c++/v1/vector; then
@ -208,7 +208,7 @@ int main(void) {
}
return 0;
}' > foo.cpp
clang++-$VERSION -stdlib=libc++ foo.cpp -o o
clang++-$VERSION -stdlib=libc++ -L/usr/lib/llvm-$VERSION/lib -I/usr/lib/llvm-$VERSION/include/c++ foo.cpp -o o
if ! ldd o 2>&1|grep -q libc++.so.1; then
# if ! ./a.out 2>&1 | -q -E "(Test unit written|PreferSmall)"; then
echo "not linked against libc++.so.1"
@ -220,9 +220,9 @@ if ! ldd o 2>&1|grep -q libc++abi.so.1; then
fi
./o > /dev/null
clang++-$VERSION -std=c++11 -stdlib=libc++ foo.cpp -o o
clang++-$VERSION -std=c++11 -stdlib=libc++ -L/usr/lib/llvm-$VERSION/lib -I/usr/lib/llvm-$VERSION/include/c++ foo.cpp -o o
./o > /dev/null
clang++-$VERSION -std=c++14 -stdlib=libc++ foo.cpp -lc++experimental -o o
clang++-$VERSION -std=c++14 -stdlib=libc++ -L/usr/lib/llvm-$VERSION/lib -I/usr/lib/llvm-$VERSION/include/c++ foo.cpp -lc++experimental -o o
./o > /dev/null
if test ! -f /usr/lib/llvm-$VERSION/include/cxxabi.h; then
@ -231,7 +231,7 @@ if test ! -f /usr/lib/llvm-$VERSION/include/cxxabi.h; then
fi
# Force the usage of libc++abi
clang++-$VERSION -stdlib=libc++ -lc++abi foo.cpp -o o
clang++-$VERSION -stdlib=libc++ -lc++abi -L/usr/lib/llvm-$VERSION/lib -I/usr/lib/llvm-$VERSION/include/c++ foo.cpp -o o
./o > /dev/null
if ! ldd o 2>&1|grep -q libc++abi.so.1; then
echo "not linked against libc++abi.so.1"
@ -239,7 +239,7 @@ if ! ldd o 2>&1|grep -q libc++abi.so.1; then
fi
# Use the libc++abi and uses the libstc++ headers
clang++-$VERSION -lc++abi foo.cpp -o o
clang++-$VERSION -lc++abi -L/usr/lib/llvm-$VERSION/lib -I/usr/lib/llvm-$VERSION/include/c++ foo.cpp -o o
./o > /dev/null
if ! ldd o 2>&1|grep -q libstdc++.so.; then
echo "not linked against libstdc++"
@ -257,13 +257,13 @@ int main() {
std::filesystem::path
>::value, "");
}' > foo.cpp
clang++-$VERSION -std=c++17 -stdlib=libc++ foo.cpp -lc++experimental -lc++fs -o o
clang++-$VERSION -std=c++17 -stdlib=libc++ -L/usr/lib/llvm-$VERSION/lib -I/usr/lib/llvm-$VERSION/include/c++ foo.cpp -lc++experimental -lc++fs -o o
./o > /dev/null
/usr/lib/llvm-7/bin/clang++-libc++ -std=c++17 foo.cpp -lc++experimental -lc++fs -o o
/usr/lib/llvm-7/bin/clang++-libc++ -std=c++17 -L/usr/lib/llvm-$VERSION/lib -I/usr/lib/llvm-$VERSION/include/c++ foo.cpp -lc++experimental -lc++fs -o o
./o > /dev/null
clang++-libc++-$VERSION -std=c++17 foo.cpp -lc++experimental -lc++fs -o o
clang++-libc++-$VERSION -std=c++17 -L/usr/lib/llvm-$VERSION/lib foo.cpp -I/usr/lib/llvm-$VERSION/include/c++ -lc++experimental -lc++fs -o o
./o > /dev/null
g++ -nostdinc++ -I/usr/lib/llvm-$VERSION/bin/../include/c++/v1/ -L/usr/lib/llvm-$VERSION/lib/ \

14
debian/rules vendored
View File

@ -463,8 +463,7 @@ override_dh_auto_install:
cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && rm -f libclang.so.$(SONAME_EXT) libclang-$(LLVM_VERSION).so; \
ln -s libclang-$(LLVM_VERSION).so.$(SONAME_EXT) libclang.so.$(SONAME_EXT)
cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib && rm -f libomp.so; \
ln -s libomp.so.$(SONAME_OPENMP) libomp.so
cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib && cp libomp.so.$(SONAME_OPENMP) libomp-$(LLVM_VERSION).so.$(SONAME_OPENMP);
if test "$(OPENMP_ENABLE)" = yes; then \
mkdir -p debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/include/openmp; \
@ -513,6 +512,17 @@ endif
$(MAKE) -C libcxxabi/build install DESTDIR=$(DEB_INST)
$(MAKE) -C libcxx/build install DESTDIR=$(DEB_INST)
cd debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/ && mv libc++.so.1.0 libc++-$(LLVM_VERSION).so.1.0; \
mv libc++.so libc++-$(LLVM_VERSION).so; \
mv libc++.a libc++-$(LLVM_VERSION).a; \
mv libc++abi.so.1.0 libc++abi-$(LLVM_VERSION).so.1.0; \
mv libc++abi.a libc++abi-$(LLVM_VERSION).a; \
rm libc++.so.1 libc++abi.so libc++abi.so.1; \
ln -s libc++-$(LLVM_VERSION).so.1.0 libc++-$(LLVM_VERSION).so.1; \
ln -s libc++abi-$(LLVM_VERSION).so.1.0 libc++abi-$(LLVM_VERSION).so.1; \
ln -s libc++abi-$(LLVM_VERSION).so.1 libc++abi-$(LLVM_VERSION).so; \
ln -s libc++abi-$(LLVM_VERSION).so.1 libc++abi.so.1
# Rename binaries
mkdir -p $(DEB_INST)/usr/bin/