git: 4e1881d3af60 - main - devel/llvm21: don't build gold plugin when disabled

From: Brooks Davis <brooks_at_FreeBSD.org>
Date: Tue, 09 Dec 2025 16:05:45 UTC
The branch main has been updated by brooks:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4e1881d3af605651ea021c26e57727375a982dcd

commit 4e1881d3af605651ea021c26e57727375a982dcd
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2025-12-09 16:04:23 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2025-12-09 16:04:23 +0000

    devel/llvm21: don't build gold plugin when disabled
    
    Disabling the GOLD option didn't actually disable building the plugin,
    it just didn't install it in the package.  Actually stop traversing into
    the directory when the option disabled so we don't end up needing
    devel/binutils.
    
    PR:             291247
    Sponsored by:   DARPA, AFRL
---
 devel/llvm21/Makefile                                 |  3 ++-
 devel/llvm21/files/gold-off-llvm_tools_CMakeLists.txt | 10 ++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/devel/llvm21/Makefile b/devel/llvm21/Makefile
index cbc77521d02b..bb59f0ce34d6 100644
--- a/devel/llvm21/Makefile
+++ b/devel/llvm21/Makefile
@@ -180,8 +180,9 @@ FLANG_IMPLIES=		MLIR
 FLANG_PORTDOCS=		flang
 FLANG_PLIST_DIRS=	${LLVM_DIR}/include/flang/Config
 GOLD_DESC=		Build the LLVM Gold plugin for LTO
-GOLD_CMAKE_ON=		-DLLVM_BINUTILS_INCDIR=${LOCALBASE}/include
 GOLD_BUILD_DEPENDS=	${LOCALBASE}/bin/ld.gold:devel/binutils
+GOLD_CMAKE_ON=		-DLLVM_BINUTILS_INCDIR=${LOCALBASE}/include
+GOLD_EXTRA_PATCHES_OFF=	${PATCHDIR}/gold-off-llvm_tools_CMakeLists.txt
 GOLD_PLIST_FILES=	${LLVM_DIR}/lib/LLVMgold.so
 LIT_DESC=		Install lit and FileCheck test tools
 LIT_VARS=		_USES_PYTHON=python
diff --git a/devel/llvm21/files/gold-off-llvm_tools_CMakeLists.txt b/devel/llvm21/files/gold-off-llvm_tools_CMakeLists.txt
new file mode 100644
index 000000000000..59a4718e4143
--- /dev/null
+++ b/devel/llvm21/files/gold-off-llvm_tools_CMakeLists.txt
@@ -0,0 +1,10 @@
+--- llvm/tools/CMakeLists.txt.orig
++++ llvm/tools/CMakeLists.txt
+@@ -29,7 +29,6 @@
+ # requires targets specified in DEPENDS to exist before the call to
+ # ExternalProject_Add.
+ add_llvm_tool_subdirectory(lto)
+-add_llvm_tool_subdirectory(gold)
+ add_llvm_tool_subdirectory(llvm-ar)
+ add_llvm_tool_subdirectory(llvm-config)
+ add_llvm_tool_subdirectory(llvm-lto)