From 9740d53d94b80205347ba3b02720ed8cf20b9b89 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sun, 17 Mar 2024 10:17:53 +0100 Subject: [PATCH] mold: disable on old distro --- debian/rules | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/debian/rules b/debian/rules index 961201db..3c5063e1 100755 --- a/debian/rules +++ b/debian/rules @@ -303,16 +303,25 @@ ifeq ($(LLVM_SPIRV_INSTALLED),yes) endif # Use mold as a linker. Faster than the other. -# This will need to be updated for apt.llvm.org as mold isn't available everywhere. -STAGE_ALL_CMAKE_EXTRA += -DLLVM_USE_LINKER=mold +MOLD_DISABLE_DISTRO := bionic buster focal buster bullseye +ifeq (,$(filter-out $(LIBC_DISABLE_DISTRO), $(DISTRO))) +# mold is too old on this distro + MOLD_ENABLE=no +else + MOLD_ENABLE=yes + STAGE_ALL_CMAKE_EXTRA += -DLLVM_USE_LINKER=mold +endif BINUTILS_GOLD_ARCHS := amd64 arm64 armhf i386 ppc64 ppc64el x32 s390x hurd-i386 kfreebsd-amd64 kfreebsd-i386 ifeq ($(shell dpkg --compare-versions $(shell dpkg-query -W -f '$${Version}' binutils) ge 2.23.1-1~exp3 ; echo $$?),0) ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS))) +ifeq (${MOLD_ENABLE},no) +# don't do it when MOLD is enabled STAGE_ALL_CMAKE_EXTRA += -DLLVM_USE_LINKER=gold STAGE_ALL_CMAKE_EXTRA += -DLLVM_BINUTILS_INCDIR=/usr/include/ endif endif +endif ifneq (,$(filter bolt-$(LLVM_VERSION), $(packages))) PROJECTS += ;bolt @@ -620,6 +629,7 @@ stamps/preconfigure: @echo "LIBCXX_WASM_ENABLE=$(LIBCXX_WASM_ENABLE)" @echo "SCCACHE_ENABLE=$(SCCACHE_ENABLE)" @echo "LIBC_ENABLE=$(LIBC_ENABLE)" + @echo "MOLD_ENABLE=$(MOLD_ENABLE)" @echo "LLVM_SPIRV=$(LLVM_SPIRV)" @echo "LLVM_SPIRV_INSTALLED=$(LLVM_SPIRV_INSTALLED)" @echo "DOC_GENERATION=$(DOC_GENERATION)"