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
This commit is contained in:
Ed Maste
2026-03-06 09:46:18 -05:00
parent 0de6295af2
commit c4f08d46c7
11 changed files with 45 additions and 42 deletions
+2 -1
View File
@@ -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
+6
View File
@@ -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>
+2
View File
@@ -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"
-7
View File
@@ -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"
-5
View File
@@ -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"
-6
View File
@@ -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"
-7
View File
@@ -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"
-5
View File
@@ -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"
-6
View File
@@ -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"
-5
View File
@@ -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"
+35
View File
@@ -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>