Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 01 May 2026 23:34:18 +0000
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: c4f08d46c7f7 - main - llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package
Message-ID:  <69f5387a.26bf3.36f56fa3@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by emaste:

URL: https://cgit.FreeBSD.org/src/commit/?id=c4f08d46c7f717cc8c66bf702c006765a5b6b1a9

commit c4f08d46c7f717cc8c66bf702c006765a5b6b1a9
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2026-03-06 14:46:18 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-05-01 23:33:51 +0000

    llvm-*: Move all LLVM_BINUTILS symlinks to toolchain package
    
    Some of the LLVM binary utilities were included in the Clang package
    (because they did not set an explicit PACKAGE).
    
    Add a new Makefile under clang/toolchain to create the symlinks and man
    links for ar, c++filt, nm, and so on (without the llvm-* prefix) when
    LLVM_BINUTILS is enabled (as it is by default).
    
    PR:             293610
    Reviewed by:    bapt, ivy, brooks
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D55692
---
 Makefile.inc1                          |  3 ++-
 packages/toolchain/Makefile            |  6 ++++++
 usr.bin/clang/Makefile                 |  2 ++
 usr.bin/clang/llvm-ar/Makefile         |  7 -------
 usr.bin/clang/llvm-cxxfilt/Makefile    |  5 -----
 usr.bin/clang/llvm-nm/Makefile         |  6 ------
 usr.bin/clang/llvm-objcopy/Makefile    |  7 -------
 usr.bin/clang/llvm-readobj/Makefile    |  5 -----
 usr.bin/clang/llvm-size/Makefile       |  6 ------
 usr.bin/clang/llvm-symbolizer/Makefile |  5 -----
 usr.bin/clang/toolchain/Makefile       | 35 ++++++++++++++++++++++++++++++++++
 11 files changed, 45 insertions(+), 42 deletions(-)

diff --git a/Makefile.inc1 b/Makefile.inc1
index 3c93159645fd..b07b5f9c1a65 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -3052,7 +3052,8 @@ _clang_libs=	lib/clang
 _llvm_binutils=	usr.bin/clang/llvm-ar \
 		usr.bin/clang/llvm-nm \
 		usr.bin/clang/llvm-objcopy \
-		usr.bin/clang/llvm-size
+		usr.bin/clang/llvm-size \
+		usr.bin/clang/toolchain
 .endif
 .if ${MK_USB} != "no"
 _usb_tools=	stand/usb/tools
diff --git a/packages/toolchain/Makefile b/packages/toolchain/Makefile
index 344f0d250b79..b47d931c2c10 100644
--- a/packages/toolchain/Makefile
+++ b/packages/toolchain/Makefile
@@ -1,7 +1,13 @@
+.include <src.opts.mk>
+
 WORLDPACKAGE=	toolchain
 SUBPACKAGES=	dbg dev man
 COMPAT_PKGS=	dev
 
 PKG_SETS=	devel
 
+.if ${MK_LLVM_BINUTILS} != "no"
+PKG_DEPS.toolchain+=	llvm
+.endif
+
 .include <bsd.pkg.mk>
diff --git a/usr.bin/clang/Makefile b/usr.bin/clang/Makefile
index ac92b08a54cb..d86508829533 100644
--- a/usr.bin/clang/Makefile
+++ b/usr.bin/clang/Makefile
@@ -22,6 +22,8 @@ SUBDIR+=	llvm-readobj
 SUBDIR+=	llvm-size
 SUBDIR+=	llvm-strings
 SUBDIR+=	llvm-symbolizer
+SUBDIR+=	.WAIT
+SUBDIR+=	toolchain
 .endif
 
 .if ${MK_CLANG_EXTRAS} != "no"
diff --git a/usr.bin/clang/llvm-ar/Makefile b/usr.bin/clang/llvm-ar/Makefile
index ee776a7c0d9e..10cd46bad4dc 100644
--- a/usr.bin/clang/llvm-ar/Makefile
+++ b/usr.bin/clang/llvm-ar/Makefile
@@ -1,6 +1,5 @@
 .include <src.opts.mk>
 
-PACKAGE=	toolchain
 PROG_CXX=	llvm-ar
 MAN=		llvm-ar.1 llvm-ranlib.1
 
@@ -10,10 +9,4 @@ SRCS+=		llvm-ar.cpp
 
 LINKS+=		${BINDIR}/llvm-ar ${BINDIR}/llvm-ranlib
 
-.if ${MK_LLVM_BINUTILS} != "no"
-SYMLINKS+=	llvm-ar ${BINDIR}/ar
-SYMLINKS+=	llvm-ranlib ${BINDIR}/ranlib
-MLINKS+=	llvm-ar.1 ar.1 llvm-ar.1 ranlib.1
-.endif
-
 .include "../llvm.prog.mk"
diff --git a/usr.bin/clang/llvm-cxxfilt/Makefile b/usr.bin/clang/llvm-cxxfilt/Makefile
index 26a5d9e8975d..7d49ccb0a8d0 100644
--- a/usr.bin/clang/llvm-cxxfilt/Makefile
+++ b/usr.bin/clang/llvm-cxxfilt/Makefile
@@ -22,9 +22,4 @@ DEPENDFILES+=	${TGHDRS:C/$/.d/}
 DPSRCS+=	${TGHDRS}
 CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
 
-.if ${MK_LLVM_BINUTILS} != "no"
-SYMLINKS=	llvm-cxxfilt ${BINDIR}/c++filt
-MLINKS=		llvm-cxxfilt.1 c++filt.1
-.endif
-
 .include "../llvm.prog.mk"
diff --git a/usr.bin/clang/llvm-nm/Makefile b/usr.bin/clang/llvm-nm/Makefile
index 333513246cb6..68033ce3874f 100644
--- a/usr.bin/clang/llvm-nm/Makefile
+++ b/usr.bin/clang/llvm-nm/Makefile
@@ -1,6 +1,5 @@
 .include <src.opts.mk>
 
-PACKAGE=	toolchain
 PROG_CXX=	llvm-nm
 
 SRCDIR=		llvm/tools/llvm-nm
@@ -23,9 +22,4 @@ DEPENDFILES+=	${TGHDRS:C/$/.d/}
 DPSRCS+=	${TGHDRS}
 CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
 
-.if ${MK_LLVM_BINUTILS} != "no"
-SYMLINKS+=	llvm-nm ${BINDIR}/nm
-MLINKS+=	llvm-nm.1 nm.1
-.endif
-
 .include "../llvm.prog.mk"
diff --git a/usr.bin/clang/llvm-objcopy/Makefile b/usr.bin/clang/llvm-objcopy/Makefile
index 13bbab97899f..ee9b13b18f13 100644
--- a/usr.bin/clang/llvm-objcopy/Makefile
+++ b/usr.bin/clang/llvm-objcopy/Makefile
@@ -26,11 +26,4 @@ CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
 
 LINKS=		${BINDIR}/llvm-objcopy ${BINDIR}/llvm-strip
 
-.if ${MK_LLVM_BINUTILS} != "no"
-SYMLINKS+=	llvm-objcopy ${BINDIR}/objcopy \
-		llvm-strip ${BINDIR}/strip
-MLINKS=		llvm-objcopy.1 objcopy.1 \
-		llvm-objcopy.1 strip.1
-.endif
-
 .include "../llvm.prog.mk"
diff --git a/usr.bin/clang/llvm-readobj/Makefile b/usr.bin/clang/llvm-readobj/Makefile
index 3f705431e509..b669e4398fc3 100644
--- a/usr.bin/clang/llvm-readobj/Makefile
+++ b/usr.bin/clang/llvm-readobj/Makefile
@@ -35,9 +35,4 @@ CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
 
 LINKS+=		${BINDIR}/llvm-readobj ${BINDIR}/llvm-readelf
 
-.if ${MK_LLVM_BINUTILS} != "no"
-SYMLINKS+=	llvm-readelf ${BINDIR}/readelf
-MLINKS+=		llvm-readelf.1 readelf.1
-.endif
-
 .include "../llvm.prog.mk"
diff --git a/usr.bin/clang/llvm-size/Makefile b/usr.bin/clang/llvm-size/Makefile
index 1991065b61b2..c1b7c770acfb 100644
--- a/usr.bin/clang/llvm-size/Makefile
+++ b/usr.bin/clang/llvm-size/Makefile
@@ -1,6 +1,5 @@
 .include <src.opts.mk>
 
-PACKAGE=	toolchain
 PROG_CXX=	llvm-size
 
 SRCDIR=		llvm/tools/llvm-size
@@ -23,9 +22,4 @@ DEPENDFILES+=	${TGHDRS:C/$/.d/}
 DPSRCS+=	${TGHDRS}
 CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
 
-.if ${MK_LLVM_BINUTILS} != "no"
-SYMLINKS+=	llvm-size ${BINDIR}/size
-MLINKS+=	llvm-size.1 size.1
-.endif
-
 .include "../llvm.prog.mk"
diff --git a/usr.bin/clang/llvm-symbolizer/Makefile b/usr.bin/clang/llvm-symbolizer/Makefile
index 1a3a65c774c9..231aeec849c2 100644
--- a/usr.bin/clang/llvm-symbolizer/Makefile
+++ b/usr.bin/clang/llvm-symbolizer/Makefile
@@ -25,9 +25,4 @@ CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
 
 LINKS+=		${BINDIR}/llvm-symbolizer ${BINDIR}/llvm-addr2line
 
-.if ${MK_LLVM_BINUTILS} != "no"
-SYMLINKS+=	llvm-addr2line ${BINDIR}/addr2line
-MLINKS+=	llvm-addr2line.1 addr2line.1
-.endif
-
 .include "../llvm.prog.mk"
diff --git a/usr.bin/clang/toolchain/Makefile b/usr.bin/clang/toolchain/Makefile
new file mode 100644
index 000000000000..1a7db32274e3
--- /dev/null
+++ b/usr.bin/clang/toolchain/Makefile
@@ -0,0 +1,35 @@
+.include <src.opts.mk>
+
+.if ${MK_LLVM_BINUTILS} == yes
+PACKAGE=	toolchain
+
+SYMLINKS+=	llvm-ar ${BINDIR}/ar
+SYMLINKS+=	llvm-ranlib ${BINDIR}/ranlib
+MLINKS+=	llvm-ar.1 ar.1 llvm-ar.1 ranlib.1
+
+SYMLINKS+=	llvm-cov ${BINDIR}/gcov
+
+SYMLINKS+=	llvm-cxxfilt ${BINDIR}/c++filt
+MLINKS+=	llvm-cxxfilt.1 c++filt.1
+
+SYMLINKS+=	llvm-nm ${BINDIR}/nm
+MLINKS+=	llvm-nm.1 nm.1
+
+SYMLINKS+=	llvm-objcopy ${BINDIR}/objcopy
+SYMLINKS+=	llvm-strip ${BINDIR}/strip
+MLINKS+=	llvm-objcopy.1 objcopy.1
+MLINKS+=	llvm-objcopy.1 strip.1
+
+SYMLINKS+=	llvm-objdump ${BINDIR}/objdump
+
+SYMLINKS+=	llvm-readelf ${BINDIR}/readelf
+MLINKS+=	llvm-readelf.1 readelf.1
+
+SYMLINKS+=	llvm-size ${BINDIR}/size
+MLINKS+=	llvm-size.1 size.1
+
+SYMLINKS+=	llvm-addr2line ${BINDIR}/addr2line
+MLINKS+=	llvm-addr2line.1 addr2line.1
+.endif
+
+.include <bsd.prog.mk>


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69f5387a.26bf3.36f56fa3>