diff --git a/debian/changelog b/debian/changelog index 09c75c4d..3a9981dc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,10 @@ -llvm-toolchain-18 (1:18.1.6-2) UNRELEASED; urgency=medium +llvm-toolchain-18 (1:18.1.6-2~exp1) experimental; urgency=medium [ Sylvestre Ledru ] + * Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR + to move the libraries into multi archi directories + (Closes: #1067699, #1067005) + (LP: #2063207) * autopkgtest: only run libllvmlibc test on supported archs [ John Paul Adrian Glaubitz ] @@ -9,7 +13,7 @@ llvm-toolchain-18 (1:18.1.6-2) UNRELEASED; urgency=medium * Install liborc_rt-x86_64.a on x32 * Install hwasan_symbolize on x32 - -- John Paul Adrian Glaubitz Fri, 31 May 2024 10:40:10 +0200 + -- Sylvestre Ledru Fri, 31 May 2024 23:00:43 +0200 llvm-toolchain-18 (1:18.1.6-1) unstable; urgency=medium diff --git a/debian/libc++-X.Y-dev.install.in b/debian/libc++-X.Y-dev.install.in index 1a4d26ee..8099a083 100644 --- a/debian/libc++-X.Y-dev.install.in +++ b/debian/libc++-X.Y-dev.install.in @@ -1,11 +1,11 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so -usr/lib/llvm-@LLVM_VERSION@/lib/libc++.a +usr/lib/llvm-@LLVM_VERSION@/lib/*/libc++.so +usr/lib/llvm-@LLVM_VERSION@/lib/*/libc++.a usr/lib/llvm-@LLVM_VERSION@/include/c++/ -usr/lib/llvm-@LLVM_VERSION@/include/c++/v1/ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++experimental.a +usr/lib/llvm-@LLVM_VERSION@/include/*/c++/v1/ +usr/lib/llvm-@LLVM_VERSION@/lib/*/libc++experimental.a # C++ modules -usr/lib/llvm-@LLVM_VERSION@/lib/libc++.modules.json +usr/lib/llvm-@LLVM_VERSION@/lib/*/libc++.modules.json usr/lib/llvm-@LLVM_VERSION@/share/libc++/v1/std.compat/*.inc usr/lib/llvm-@LLVM_VERSION@/share/libc++/v1/*.cppm usr/lib/llvm-@LLVM_VERSION@/share/libc++/v1/std/*.inc diff --git a/debian/libc++1-X.Y.install.in b/debian/libc++1-X.Y.install.in index 78e2cd3b..606c7fcf 100644 --- a/debian/libc++1-X.Y.install.in +++ b/debian/libc++1-X.Y.install.in @@ -1 +1 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++.so.* +usr/lib/llvm-@LLVM_VERSION@/lib/*/libc++.so.* diff --git a/debian/libc++abi-X.Y-dev.install.in b/debian/libc++abi-X.Y-dev.install.in index 8774c6ae..ce71f3e6 100644 --- a/debian/libc++abi-X.Y-dev.install.in +++ b/debian/libc++abi-X.Y-dev.install.in @@ -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*so +usr/lib/llvm-@LLVM_VERSION@/lib/*/libc++abi.a libcxxabi/include/* usr/lib/llvm-@LLVM_VERSION@/include/ diff --git a/debian/libc++abi1-X.Y.install.in b/debian/libc++abi1-X.Y.install.in index 6e27733d..a7e1c070 100644 --- a/debian/libc++abi1-X.Y.install.in +++ b/debian/libc++abi1-X.Y.install.in @@ -1 +1 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libc++abi.so.* +usr/lib/llvm-@LLVM_VERSION@/lib/*/libc++abi.so.* diff --git a/debian/libllvmlibc-X.Y-dev.install.in b/debian/libllvmlibc-X.Y-dev.install.in index cd6c1add..e8fe2fc3 100644 --- a/debian/libllvmlibc-X.Y-dev.install.in +++ b/debian/libllvmlibc-X.Y-dev.install.in @@ -1 +1 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libllvmlibc.a +usr/lib/llvm-@LLVM_VERSION@/lib/*/libllvmlibc.a diff --git a/debian/libunwind-X.Y-dev.install.in b/debian/libunwind-X.Y-dev.install.in index f22f67f2..f01f1bb5 100644 --- a/debian/libunwind-X.Y-dev.install.in +++ b/debian/libunwind-X.Y-dev.install.in @@ -1,5 +1,5 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.so -usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.a +usr/lib/llvm-@LLVM_VERSION@/lib/*/libunwind.so +usr/lib/llvm-@LLVM_VERSION@/lib/*/libunwind.a usr/include/libunwind usr/lib/llvm-@LLVM_VERSION@/include/*unwind* usr/lib/llvm-@LLVM_VERSION@/include/mach-o/ diff --git a/debian/libunwind-X.Y.install.in b/debian/libunwind-X.Y.install.in index e26306e4..9857c78a 100644 --- a/debian/libunwind-X.Y.install.in +++ b/debian/libunwind-X.Y.install.in @@ -1 +1 @@ -usr/lib/llvm-@LLVM_VERSION@/lib/libunwind.so.* +usr/lib/llvm-@LLVM_VERSION@/lib/*/libunwind.so.* diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index 97829ee8..ca9b1d92 100755 --- a/debian/qualify-clang.sh +++ b/debian/qualify-clang.sh @@ -8,6 +8,7 @@ fi VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p") DETAILED_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1\2\3,p") DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH) +ARCH=$(clang-$VERSION -dumpmachine) LIST="libomp5-${VERSION}_${DETAILED_VERSION}_amd64.deb libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb python3-clang-${VERSION}_${DETAILED_VERSION}_amd64.deb libllvm${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang1-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-common-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}_${DETAILED_VERSION}_amd64.deb liblldb-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-runtime_${DETAILED_VERSION}_amd64.deb lld-${VERSION}_${DETAILED_VERSION}_amd64.deb libfuzzer-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++abi-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libc++1-${VERSION}_${DETAILED_VERSION}_amd64.deb libc++abi1-${VERSION}_${DETAILED_VERSION}_amd64.deb clang-${VERSION}_${DETAILED_VERSION}_amd64.deb llvm-${VERSION}-tools_${DETAILED_VERSION}_amd64.deb clang-tools-${VERSION}_${DETAILED_VERSION}_amd64.deb clangd-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}_${DETAILED_VERSION}_amd64.deb clang-tidy-${VERSION}_${DETAILED_VERSION}_amd64.deb libclang-cpp${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclc-${VERSION}_${DETAILED_VERSION}_all.deb libclc-${VERSION}-dev_${DETAILED_VERSION}_all.deb llvm-${VERSION}-linker-tools_${DETAILED_VERSION}_amd64.deb libunwind-${VERSION}_${DETAILED_VERSION}_amd64.deb libunwind-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libmlir-${VERSION}_${DETAILED_VERSION}_amd64.deb libmlir-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-rt-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libclang-rt-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libclang-rt-${VERSION}-dev-wasm64_${DETAILED_VERSION}_all.deb libc++abi-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libc++-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb libpolly-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb bolt-${VERSION}_${DETAILED_VERSION}_amd64.deb libbolt-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb flang-${VERSION}_${DETAILED_VERSION}_amd64.deb libflang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb libllvmlibc-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb " @@ -472,8 +473,8 @@ echo "Testing linking clang-cpp ..." clang-$VERSION -lclang-cpp$VERSION -v foo.cpp -o o &> /dev/null || true if ! ldd o 2>&1|grep -q libclang-cpp; then - echo "Didn't link against libclang-cpp$VERSION" - exit 42 + echo "Didn't link against libclang-cpp$VERSION" + exit 42 fi ./o > /dev/null @@ -942,7 +943,7 @@ if test ! -f /usr/lib/llvm-$VERSION/include/c++/v1/vector; then exit -1; fi -if test ! -f /usr/lib/llvm-$VERSION/lib/libc++abi.so; then +if test ! -f /usr/lib/llvm-$VERSION/lib/$ARCH/libc++abi.so; then echo "Install libc++abi-$VERSION-dev"; exit -1; fi @@ -1029,7 +1030,8 @@ EOF # Builds the std module clang++-$VERSION -std=c++20 \ -nostdinc++ \ - -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ + -isystem /usr/lib/llvm-$VERSION/include/$ARCH/c++/v1/ \ + -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ -Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \ --precompile -o std.pcm \ -c /usr/lib/llvm-$VERSION/share/libc++/v1/std.cppm @@ -1037,7 +1039,8 @@ clang++-$VERSION -std=c++20 \ # Builds the std.compat module clang++-$VERSION -std=c++20 \ -nostdinc++ \ - -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ + -isystem /usr/lib/llvm-$VERSION/include/$ARCH/c++/v1/ \ + -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ -Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \ --precompile -o std.compat.pcm \ -fmodule-file=std=std.pcm \ @@ -1146,7 +1149,8 @@ int main(void) clang-$VERSION -Wconversion -Werror foo.c &> /dev/null || true if test -f /usr/bin/g++; then -g++ -nostdinc++ -I/usr/lib/llvm-$VERSION/bin/../include/c++/v1/ -L/usr/lib/llvm-$VERSION/lib/ \ +g++ -nostdinc++ -I/usr/lib/llvm-$VERSION/bin/../include/c++/v1/ -I/usr/lib/llvm-$VERSION/include/$ARCH/c++/v1/ \ + -L/usr/lib/llvm-$VERSION/lib/ \ foo.cpp -nodefaultlibs -std=c++17 -lc++ -lc++abi -lm -lc -lgcc_s -lgcc|| true ./o > /dev/null fi @@ -1166,6 +1170,7 @@ EOF clang-$VERSION -std=c++20 \ -nostdinc++ \ -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ + -isystem /usr/lib/llvm-$VERSION/include/$ARCH/c++/v1/ \ -Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \ --precompile -o std.pcm \ -c /usr/lib/llvm-$VERSION/share/libc++/v1/std.cppm @@ -1174,6 +1179,7 @@ clang-$VERSION -std=c++20 \ clang-$VERSION -std=c++20 \ -nostdinc++ \ -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ + -isystem /usr/lib/llvm-$VERSION/include/$ARCH/c++/v1/ \ -Wno-reserved-module-identifier -Wno-reserved-user-defined-literal \ --precompile -o std.compat.pcm \ -fmodule-file=std=std.pcm \ @@ -1183,6 +1189,7 @@ clang-$VERSION -std=c++20 \ clang-$VERSION -std=c++20 \ -nostdinc++ \ -isystem /usr/lib/llvm-$VERSION/include/c++/v1/ \ + -isystem /usr/lib/llvm-$VERSION/include/$ARCH/c++/v1/ \ -L /usr/lib/llvm-$VERSION/lib \ -fmodule-file=std=std.pcm \ -fmodule-file=std.compat=std.compat.pcm \ @@ -1406,7 +1413,7 @@ int main(int, char**) { return -2; } '> foo.cpp -clang++-$VERSION foo.cpp /usr/lib/llvm-$VERSION/lib/libunwind.a -I/usr/include/libunwind/ -lpthread -ldl +clang++-$VERSION foo.cpp /usr/lib/llvm-$VERSION/lib/$ARCH/libunwind.a -I/usr/include/libunwind/ -lpthread -ldl ./a.out||true clang++-$VERSION foo.cpp -unwindlib=libunwind -rtlib=compiler-rt -I/usr/include/libunwind -ldl ./a.out||true diff --git a/debian/rules b/debian/rules index ef8e87a1..572a5f38 100755 --- a/debian/rules +++ b/debian/rules @@ -826,8 +826,8 @@ endif -DLIBOMP_OMPT_SUPPORT=OFF \ -DCLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=ON \ $(CMAKE_EXTRA) \ - -DBUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_1_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_1_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_BUILD_TYPE=Release;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \ - -DRUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_1_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_1_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_BUILD_TYPE=Release;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \ + -DBUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_1_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_1_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_BUILD_TYPE=Release;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON" \ + -DRUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_1_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_1_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_BUILD_TYPE=Release;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON" \ -DCLANG_ENABLE_BOOTSTRAP=ON \ -DCLANG_BOOTSTRAP_TARGETS="$(ENABLED_STAGE2_CMAKE_BUILD_TARGETS)" \ -DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_SUPPRESS_REGENERATION;ENABLE_LINKER_BUILD_ID;LLVM_ENABLE_PIC;LLVM_ENABLE_RTTI;LLVM_INCLUDE_GO_TESTS;LLVM_USE_RELATIVE_PATHS_IN_FILES;CLANG_DEFAULT_LINKER;CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;COMPILER_RT_USE_LIBCXX;COMPILER_RT_USE_BUILTINS_LIBRARY;COMPILER_RT_DEFAULT_TARGET_ONLY;COMPILER_RT_INCLUDE_TESTS;LIBUNWIND_USE_COMPILER_RT;LIBCXXABI_ENABLE_EXCEPTIONS;LIBCXXABI_USE_COMPILER_RT;LIBCXX_USE_COMPILER_RT;LIBCXX_ENABLE_EXCEPTIONS;LIBCXX_ENABLE_STATIC_ABI_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY;LIBOMP_ENABLE_RTTI;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION;CMAKE_C_COMPILER_LAUNCHER;CMAKE_CXX_COMPILER_LAUNCHER" \ @@ -857,8 +857,8 @@ endif -DBOOTSTRAP_LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON \ -DBOOTSTRAP_PYTHON_EXECUTABLE=/usr/bin/python3 \ $(BOOTSTRAP_CMAKE_EXTRA) \ - -DBOOTSTRAP_BUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_2_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_2_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$(opt_flags);-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \ - -DBOOTSTRAP_RUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_2_CFLAGS);-DCMAKE_CXX_FLAGS=$(RUNTIMES_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$(opt_flags);-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" + -DBOOTSTRAP_BUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_2_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_2_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$(opt_flags);-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON" \ + -DBOOTSTRAP_RUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_2_CFLAGS);-DCMAKE_CXX_FLAGS=$(RUNTIMES_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$(opt_flags);-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON" FOUND_VERSION=`grep LLVM_VERSION_STRING build-llvm/include/llvm/Config/llvm-config.h|cut -d\" -f2`; \ if ! echo "$(LLVM_VERSION_FULL)"|grep "$$FOUND_VERSION"; then \ @@ -1174,7 +1174,7 @@ override_dh_auto_install: ifeq (,$(filter $(DEB_HOST_ARCH), powerpc powerpcspe)) ifneq (,$(filter $(DEB_HOST_ARCH_OS),linux)) # To fix custom-library-search-path - chrpath -d $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)*/lib/linux/*.so + chrpath -d $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)*/lib/*/*.so endif endif @@ -1382,7 +1382,9 @@ override_dh_makeshlibs: override_dh_shlibdeps: # Ignore asan libraries. They would trigger dependencies to multiarch libraries - dh_shlibdeps -l$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ -Xlibclang_rt.asan -Xlibclang_rt.asan -Xlibclang_rt.asan-*.so -Xlibclang_rt.asan-*.so + TRIPLE_CLANG_ARCH=`debian/tmp/usr/bin/clang-$(LLVM_VERSION) -dumpmachine`; \ + echo "TRIPLE_CLANG_ARCH = $$TRIPLE_CLANG_ARCH"; \ + dh_shlibdeps -l$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/$$TRIPLE_CLANG_ARCH/ -l$(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/ -Xlibclang_rt.asan -Xlibclang_rt.asan -Xlibclang_rt.asan-*.so -Xlibclang_rt.asan-*.so override_dh_installman: if test -f lld/docs/ld.lld.1; then \ @@ -1433,7 +1435,9 @@ override_dh_install: ifeq (${POLLY_ENABLE},yes) # only for arch:any builds ifneq (,$(filter libpolly-$(LLVM_VERSION)-dev, $(packages))) - dh_install -p libpolly-$(LLVM_VERSION)-dev usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly + if test -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/PollyConfig.cmake; then \ + dh_install -p libpolly-$(LLVM_VERSION)-dev usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly; \ + fi # On old Debian & Ubuntu, removing the files is necessary rm -rf debian/tmp/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/polly/*.cmake else @@ -1444,6 +1448,12 @@ endif # Move the libc++ abi files from libc++ to libc++-abi for the wasm32 packages # These packages are arch: all, so only do so when the packages are built ifneq (,$(filter libc++-$(LLVM_VERSION)-dev-wasm32, $(packages))) +# Keep only one copy of the wasm files + rm -rf \ + $(CURDIR)/debian/libc++-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/include/wasm32-wasi/ \ + $(CURDIR)/debian/libc++-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/wasm32-wasi/ \ + $(CURDIR)/debian/libc++abi-$(LLVM_VERSION)-dev/usr/lib/llvm-$(LLVM_VERSION)/lib/wasm32-wasi/ + mkdir -p $(CURDIR)/debian/libc++abi-$(LLVM_VERSION)-dev-wasm32/usr/lib/llvm-$(LLVM_VERSION)/include/wasm32-wasi/c++/v1 if test -f $(CURDIR)/debian/libc++-$(LLVM_VERSION)-dev-wasm32/usr/lib/llvm-$(LLVM_VERSION)/include/wasm32-wasi/c++/v1/__cxxabi_config.h; then \ mv $(CURDIR)/debian/libc++-$(LLVM_VERSION)-dev-wasm32/usr/lib/llvm-$(LLVM_VERSION)/include/wasm32-wasi/c++/v1/__cxxabi_config.h \