git: 01d933a4488e - main - devel/llvm17: don't build gold plugin when disabled

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

URL: https://cgit.FreeBSD.org/ports/commit/?id=01d933a4488e35f8aada363e5469a1ba96585f77

commit 01d933a4488e35f8aada363e5469a1ba96585f77
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2025-12-09 16:04:25 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2025-12-09 16:04:25 +0000

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

diff --git a/devel/llvm17/Makefile b/devel/llvm17/Makefile
index 16e515b89d6d..c7e7f02ddf95 100644
--- a/devel/llvm17/Makefile
+++ b/devel/llvm17/Makefile
@@ -165,8 +165,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/llvm17/files/gold-off-llvm_tools_CMakeLists.txt b/devel/llvm17/files/gold-off-llvm_tools_CMakeLists.txt
new file mode 100644
index 000000000000..59a4718e4143
--- /dev/null
+++ b/devel/llvm17/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)