git: 60b9e2fac13a - stable/13 - build.7: Document several toolchain make variables.

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Sat, 30 Nov 2024 17:11:50 UTC
The branch stable/13 has been updated by jhb:

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

commit 60b9e2fac13ad381518acd253dd33a680dc7a0c8
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2023-08-01 21:01:58 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2024-11-30 16:56:29 +0000

    build.7: Document several toolchain make variables.
    
    Document CROSS_TOOLCHAIN, UNIVERSE_TOOLCHAIN, and USE_GCC_TOOLCHAINS.
    
    Differential Revision:  https://reviews.freebsd.org/D40778
    
    (cherry picked from commit 21ef3591b6119f6972896e6c00cbf9ffb759646e)
---
 share/man/man7/build.7 | 30 +++++++++++++++++++++++++++---
 1 file changed, 27 insertions(+), 3 deletions(-)

diff --git a/share/man/man7/build.7 b/share/man/man7/build.7
index 0c352c9f3547..57280f967a38 100644
--- a/share/man/man7/build.7
+++ b/share/man/man7/build.7
@@ -509,7 +509,23 @@ Additionally, builds in
 are influenced by the following
 .Xr make 1
 variables:
-.Bl -tag -width ".Va SUBDIR_OVERRIDE"
+.Bl -tag -width ".Va LOCAL_MODULES_DIR"
+.It Va CROSS_TOOLCHAIN
+Requests use of an external toolchain to build either the world or kernel.
+This value of this variable can either be the full path to a file,
+or the base name of a file in
+.Pa ${LOCALBASE}/share/toolchains .
+The file should be a make file which sets variables to request an external
+toolchain such as
+.Va XCC .
+.Pp
+External toolchains are available in ports for both LLVM and GCC/binutils.
+For external toolchains available in ports,
+.Va CROSS_TOOLCHAIN
+should be set to the name of the package.
+LLVM toolchain packages use the name llvm<major version>.
+GCC toolchains provide separate packages for each architecture and use the
+name ${MACHINE_ARCH}-gcc<major version>.
 .It Va KERNCONF
 Overrides which kernel to build and install for the various kernel
 make targets.
@@ -705,7 +721,7 @@ using the
 .Fl D
 option of
 .Xr make 1 :
-.Bl -tag -width ".Va -DNO_KERNELCONFIG"
+.Bl -tag -width ".Va LOADER_DEFAULT_INTERP"
 .It Va LOADER_DEFAULT_INTERP
 Defines what interpreter the default loader program will have.
 Valid values include
@@ -775,6 +791,10 @@ If set, the libraries phase will be skipped.
 If set, no object directories will be created.
 This should only be used if object directories were created in a
 previous build and no new directories are connected.
+.It Va UNIVERSE_TOOLCHAIN
+Requests use of the toolchain built as part of the
+.Cm universe
+target as an external toolchain.
 .It Va WORLDFAST
 If set, the build target
 .Cm buildworld
@@ -804,7 +824,7 @@ Builds using the
 and related targets are influenced by the following
 .Xr make 1
 variables:
-.Bl -tag -width ".Va MAKE_JUST_KERNELS"
+.Bl -tag -width ".Va USE_GCC_TOOLCHAINS"
 .It Va JFLAG
 Pass the value of this variable to each
 .Xr make 1
@@ -826,6 +846,10 @@ target for each supported architecture instead of the default action of
 building a world and one or more kernels.
 This variable implies
 .Va WITHOUT_KERNELS .
+.It Va USE_GCC_TOOLCHAINS
+Use external GCC toolchains to build the requested targets.
+If the required toolchain package for a supported architecture is not installed,
+the build for that architecture is skipped.
 .It Va TARGETS
 Only build the listed targets instead of each supported architecture.
 .It Va EXTRA_TARGETS