git: 21ef3591b611 - main - build.7: Document several toolchain make variables.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 01 Aug 2023 21:02:09 UTC
The branch main has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=21ef3591b6119f6972896e6c00cbf9ffb759646e
commit 21ef3591b6119f6972896e6c00cbf9ffb759646e
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2023-08-01 21:01:58 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2023-08-01 21:01:58 +0000
build.7: Document several toolchain make variables.
Document CROSS_TOOLCHAIN, UNIVERSE_TOOLCHAIN, and USE_GCC_TOOLCHAINS.
Differential Revision: https://reviews.freebsd.org/D40778
---
share/man/man7/build.7 | 32 ++++++++++++++++++++++++++++----
1 file changed, 28 insertions(+), 4 deletions(-)
diff --git a/share/man/man7/build.7 b/share/man/man7/build.7
index a2fb5ea77149..c1ea4e56ccaf 100644
--- a/share/man/man7/build.7
+++ b/share/man/man7/build.7
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 10, 2021
+.Dd August 1, 2023
.Dt BUILD 7
.Os
.Sh NAME
@@ -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.
@@ -713,7 +729,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
@@ -783,6 +799,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
@@ -812,7 +832,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
@@ -834,6 +854,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