aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2026-03-06 14:46:18 +0000
committerEd Maste <emaste@FreeBSD.org>2026-05-01 23:33:51 +0000
commitc4f08d46c7f717cc8c66bf702c006765a5b6b1a9 (patch)
tree7bcbcc2e73282a28749c0377d0316dadeea30fbd
parent0de6295af231aa5c13e1da2f40b29106962b6363 (diff)
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
-rw-r--r--Makefile.inc13
-rw-r--r--packages/toolchain/Makefile6
-rw-r--r--usr.bin/clang/Makefile2
-rw-r--r--usr.bin/clang/llvm-ar/Makefile7
-rw-r--r--usr.bin/clang/llvm-cxxfilt/Makefile5
-rw-r--r--usr.bin/clang/llvm-nm/Makefile6
-rw-r--r--usr.bin/clang/llvm-objcopy/Makefile7
-rw-r--r--usr.bin/clang/llvm-readobj/Makefile5
-rw-r--r--usr.bin/clang/llvm-size/Makefile6
-rw-r--r--usr.bin/clang/llvm-symbolizer/Makefile5
-rw-r--r--usr.bin/clang/toolchain/Makefile35
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>