git: 60b9e2fac13a - stable/13 - build.7: Document several toolchain make variables.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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