diff --git a/debian/changelog b/debian/changelog index 03058bca..cba8aeb2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -235,6 +235,33 @@ llvm-toolchain-snapshot (1:15~++20220202093833+1a3137dc8451-1~exp1) experimental -- Sylvestre Ledru Sun, 13 Feb 2022 23:25:57 +0100 +llvm-toolchain-14 (1:14.0.6-8) unstable; urgency=medium + + * Fix the lldb swig issues (closes: #1023444) + + -- Sylvestre Ledru Fri, 04 Nov 2022 19:36:56 +0100 + +llvm-toolchain-14 (1:14.0.6-7) unstable; urgency=medium + + * Disable the cmake search for all binaries + (cmake_import_check_files_for.*/bin/). Dunno why it regressed + but we wasted too much time on this. + * disable sccache on bionic + + [ Jordan Justen ] + * d/rules: Call bash to use 'command -v' to location llvm-spirv executable + * d/rules: Set LLVM_SPIRV with cmake for libclc + * d/patches: Drop libclc-llvm-spirv.diff now that we are setting LLVM_SPIRV + * d/rules: Check for llvm-spirv with version suffix + + -- Sylvestre Ledru Thu, 27 Oct 2022 12:47:19 +0200 + +llvm-toolchain-14 (1:14.0.6-6) unstable; urgency=medium + + * Unbreak the cmake detection (Closes: #1021857, #1022414) + + -- Sylvestre Ledru Sun, 23 Oct 2022 16:07:45 +0200 + llvm-toolchain-14 (1:14.0.6-5) unstable; urgency=medium * Update of the build dep llvm-spirv => llvm-spirv-14 @@ -706,6 +733,27 @@ llvm-toolchain-snapshot (1:14~++20210715093511+afc760ef3527-1~exp2) unstable; ur -- Sylvestre Ledru Fri, 06 Aug 2021 08:40:58 +0200 +llvm-toolchain-13 (1:13.0.1-9) UNRELEASED; urgency=medium + + * d/rules: Don't send an empty string to cmake when llvm-spirv is not found + + -- Jordan Justen Fri, 28 Oct 2022 10:17:57 -0700 + +llvm-toolchain-13 (1:13.0.1-8) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Disable the build of libclc on old Ubuntu (Groovy & focal) + as llvm-spir is too old on these version. + See bug #52200 + + [ Jordan Justen ] + * d/rules: Call bash to use 'command -v' to location llvm-spirv executable + * d/rules: Set LLVM_SPIRV with cmake for libclc + * d/patches: Drop libclc-llvm-spirv.diff now that we are setting LLVM_SPIRV + * d/rules: Check for llvm-spirv with version suffix + + -- Jordan Justen Wed, 26 Oct 2022 10:13:59 -0700 + llvm-toolchain-13 (1:13.0.1-7) unstable; urgency=medium [ Michael Biebl ] diff --git a/debian/patches/0003-Debian-version-info-and-bugreport.patch b/debian/patches/0003-Debian-version-info-and-bugreport.patch deleted file mode 100644 index 3fbb78ea..00000000 --- a/debian/patches/0003-Debian-version-info-and-bugreport.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- - lib/Support/CommandLine.cpp | 4 ++++ - 1 file changed, 4 insertions(+) - -Index: llvm-toolchain-snapshot_15~++20220608102131+032be2330928/llvm/lib/Support/CommandLine.cpp -=================================================================== ---- llvm-toolchain-snapshot_15~++20220608102131+032be2330928.orig/llvm/lib/Support/CommandLine.cpp -+++ llvm-toolchain-snapshot_15~++20220608102131+032be2330928/llvm/lib/Support/CommandLine.cpp -@@ -2469,6 +2469,10 @@ public: - OS << "LLVM (http://llvm.org/):\n "; - #endif - OS << PACKAGE_NAME << " version " << PACKAGE_VERSION << "\n "; -+#ifdef LLVM_DEBIAN_INFO -+ OS << LLVM_DEBIAN_INFO; -+#endif -+ OS << "\n "; - #if LLVM_IS_DEBUG_BUILD - OS << "DEBUG build"; - #else diff --git a/debian/patches/19-clang_debian_version.patch b/debian/patches/19-clang_debian_version.patch deleted file mode 100644 index dbc1d065..00000000 --- a/debian/patches/19-clang_debian_version.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Basic/Version.cpp -=================================================================== ---- llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487.orig/clang/lib/Basic/Version.cpp -+++ llvm-toolchain-snapshot_15~++20220407011631+46f0e2ceb487/clang/lib/Basic/Version.cpp -@@ -14,6 +14,7 @@ - #include "clang/Basic/LLVM.h" - #include "clang/Config/config.h" - #include "llvm/Support/raw_ostream.h" -+#include "clang/Debian/debian_path.h" - #include - #include - -@@ -95,7 +96,7 @@ std::string getClangToolFullVersion(Stri - #ifdef CLANG_VENDOR - OS << CLANG_VENDOR; - #endif -- OS << ToolName << " version " CLANG_VERSION_STRING; -+ OS << ToolName << " version " CLANG_VERSION_STRING "-" DEB_PATCHSETVERSION; - - std::string repo = getClangFullRepositoryVersion(); - if (!repo.empty()) { diff --git a/debian/patches/remove-trailing-space-version.diff b/debian/patches/remove-trailing-space-version.diff deleted file mode 100644 index fadcf7f7..00000000 --- a/debian/patches/remove-trailing-space-version.diff +++ /dev/null @@ -1,34 +0,0 @@ -Index: llvm-toolchain-10_10.0.1~+rc1/clang/lib/Basic/Version.cpp -=================================================================== ---- llvm-toolchain-10_10.0.1~+rc1.orig/clang/lib/Basic/Version.cpp -+++ llvm-toolchain-10_10.0.1~+rc1/clang/lib/Basic/Version.cpp -@@ -125,8 +125,12 @@ std::string getClangToolFullVersion(Stri - #ifdef CLANG_VENDOR - OS << CLANG_VENDOR; - #endif -- OS << ToolName << " version " CLANG_VERSION_STRING "-" DEB_PATCHSETVERSION " " -- << getClangFullRepositoryVersion(); -+ OS << ToolName << " version " CLANG_VERSION_STRING "-" DEB_PATCHSETVERSION; -+ -+ std::string repo = getClangFullRepositoryVersion(); -+ if (!repo.empty()) { -+ OS << " " << repo; -+ } - - return OS.str(); - } -@@ -139,7 +143,13 @@ std::string getClangFullCPPVersion() { - #ifdef CLANG_VENDOR - OS << CLANG_VENDOR; - #endif -- OS << "Clang " CLANG_VERSION_STRING " " << getClangFullRepositoryVersion(); -+ OS << "Clang " CLANG_VERSION_STRING; -+ -+ std::string repo = getClangFullRepositoryVersion(); -+ if (!repo.empty()) { -+ OS << " " << repo; -+ } -+ - return OS.str(); - } - diff --git a/debian/patches/series b/debian/patches/series index a748d53e..9d3ae758 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,6 +1,4 @@ # Debian versions -19-clang_debian_version.patch -0003-Debian-version-info-and-bugreport.patch clang-format-version.diff clang-analyzer-force-version.diff diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index b99eb5a6..d4ef73eb 100755 --- a/debian/qualify-clang.sh +++ b/debian/qualify-clang.sh @@ -1374,6 +1374,9 @@ EOF fi rm -f printf.c printf fi +echo '#include ' > foo.cpp +# Fails for now +clang++-$VERSION --target=wasm32-wasi -o foo.o -c foo.cpp||true echo ' #include diff --git a/debian/rules b/debian/rules index 4d8a59c8..c84b119c 100755 --- a/debian/rules +++ b/debian/rules @@ -88,6 +88,16 @@ COMPILER_RT_USE_BUILTINS_LIBRARY := ON LIBCXX_EXCEPTIONS := ON LIBCXX_USE_COMPILER_RT := ON +# We want to set the clang extra version ONLY in stage 2 +# because we want the clang stage 1 to be as reproducible as possible +# when building with sccache (because this tool do a hash using the +# compiler binary and other things) +STAGE_2_CMAKE_EXTRA += -DCLANG_REPOSITORY_STRING=$(DEBIAN_REVISION) + +ifneq (,$(filter $(DEB_HOST_ARCH),sparc sparc64)) +STAGE_1_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4 +endif + ifneq (,$(filter $(DEB_HOST_ARCH),i386 hurd-i386 kfreebsd-i386 armel mipsel powerpc powerpcspe riscv64)) # For some reason, in the stage2 build, when clang is used to compile # itself. The atomic detection is failing on armel and riscv64. Forcing the inclusion @@ -95,20 +105,6 @@ ifneq (,$(filter $(DEB_HOST_ARCH),i386 hurd-i386 kfreebsd-i386 armel mipsel powe LDFLAGS_EXTRA += -latomic endif -ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' g++-$(GCC_VERSION)) lt 4.9-20140411-1~ ; echo $$?),0) -# Too old version of gcc. Force 4.9 - GCC_VERSION := 4.9 -endif - -ifneq (,$(filter $(DISTRO),stretch)) -# from llvm 15, we need gcc at least 7 -# No need for now. keeping in case we do in the future -# GCC_VERSION := 7 -# Don't enable lld python for old distros - STAGE_ALL_CMAKE_EXTRA += -DLLDB_ENABLE_PYTHON=OFF - USE_CLANG_PACKAGE_TO_BUILD_ITSELF = yes -endif - Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=OFF ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' libz3-dev) gt 4.7.0; echo $$?),0) # no ocaml support in main for Ubuntu @@ -554,9 +550,6 @@ override_dh_auto_configure: preconfigure $(CC) -v $(CXX) -v mkdir -p $(TARGET_BUILD) - mkdir -p clang/include/clang/Debian - sed -e "s|@DEB_PATCHSETVERSION@|$(DEBIAN_REVISION)|" \ - debian/debian_path.h > clang/include/clang/Debian/debian_path.h if test "$(SCAN_BUILD)" = "yes"; then \ patch -f -p1 < debian/patches/on-the-fly/use-scan-build-runtimes.diff||true; \ fi @@ -989,9 +982,11 @@ endif # Also disable mlir-* checks in the cmake sed -i '/_IMPORT_CHECK_TARGETS \(mlir-\|MLIR\)/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake - sed -i '/_IMPORT_CHECK_TARGETS tblgen-lsp-server/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake - sed -i '/_IMPORT_CHECK_FILES_FOR_\(mlir-\|llvm-bolt\|sancov\|Polly\|tblgen-lsp-server\|clang-format\|merge-fdata\|MLIR\)/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake - sed -i '/_cmake_import_check_files_for_\(mlir\|llvm-bolt\|sancov\|Polly\|tblgen-lsp-server\|clang-format\|merge-fdata\|MLIR\)/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake + + sed -i '/_cmake_import_check_files_for_.*\/bin\/.*/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake + sed -i '/_IMPORT_CHECK_FILES_FOR_.*\/bin\/.*/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake + sed -i '/_IMPORT_CHECK_FILES_FOR_\(mlir-\|Polly\|MLIR\)/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake + sed -i '/_cmake_import_check_files_for_\(mlir\|Polly\|MLIR\)/ {s|^|#|}' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/llvm/LLVMExports-*.cmake $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake # Disable CMake's package validation checks for binaries that may not be installed sed -i 's|.*_IMPORT_CHECK_FILES_FOR_.*/bin/.*)|#&|' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake @@ -1223,7 +1218,7 @@ override_dh_gencontrol: override_dh_auto_clean: - rm -rf $(TARGET_BUILD) tools/clang/include/clang/Debian/debian_path.h llvm/docs/_build/ clang/docs/_build tools/clang/docs/_html/ + rm -rf $(TARGET_BUILD) llvm/docs/_build/ clang/docs/_build tools/clang/docs/_html/ # QA tools rm -rf cov-int/ reports/ rm -f `ls debian/*.in|sed -e "s|.in$$||g"`