git: 8bdb01cdf3ff - main - devel/llvm19: don't build gold plugin when disabled

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

URL: https://cgit.FreeBSD.org/ports/commit/?id=8bdb01cdf3ff532d7457b39be7ca01e8e6e29d6f

commit 8bdb01cdf3ff532d7457b39be7ca01e8e6e29d6f
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/llvm19: 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/llvm19/Makefile                                 |  3 ++-
 devel/llvm19/files/gold-off-llvm_tools_CMakeLists.txt | 10 ++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/devel/llvm19/Makefile b/devel/llvm19/Makefile
index 467fc03b7384..ff1310d822f4 100644
--- a/devel/llvm19/Makefile
+++ b/devel/llvm19/Makefile
@@ -178,8 +178,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/llvm19/files/gold-off-llvm_tools_CMakeLists.txt b/devel/llvm19/files/gold-off-llvm_tools_CMakeLists.txt
new file mode 100644
index 000000000000..59a4718e4143
--- /dev/null
+++ b/devel/llvm19/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)