diff options
author | John Baldwin <jhb@FreeBSD.org> | 2025-01-11 03:49:59 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2025-01-11 03:49:59 +0000 |
commit | 550137eab24ab6bdf05bfbb986927004b9f2f34e (patch) | |
tree | 1f0590686a5b5c7b67e021fe9f5c0874c8eb50b1 | |
parent | b2b974f7ef4cddff251d0de69d8da13232b25e4d (diff) |
universe: Permit requesting a specific version of GCC
If USE_GCC_TOOLCHAINS is set to a value matching the pattern 'gcc*',
use that as the GCC version. For example, USE_GCC_TOOLCHAINS=gcc16
would use amd64-gcc16 for amd64, etc. If the variable is set to a
value that doesn't match that pattern, use the default version.
Reviewed by: imp, emaste
Differential Revision: https://reviews.freebsd.org/D48418
-rw-r--r-- | Makefile | 16 | ||||
-rw-r--r-- | share/man/man7/build.7 | 7 |
2 files changed, 15 insertions, 8 deletions
@@ -531,13 +531,15 @@ TARGET_ARCHES_${target}= ${MACHINE_ARCH_LIST_${target}} .endfor .if defined(USE_GCC_TOOLCHAINS) -TOOLCHAINS_amd64= amd64-gcc12 -TOOLCHAINS_arm= armv7-gcc12 -TOOLCHAINS_arm64= aarch64-gcc12 -TOOLCHAINS_i386= i386-gcc12 -TOOLCHAINS_powerpc= powerpc-gcc12 powerpc64-gcc12 -TOOLCHAIN_powerpc64= powerpc64-gcc12 -TOOLCHAINS_riscv= riscv64-gcc12 +_DEFAULT_GCC_VERSION= gcc12 +_GCC_VERSION= ${"${USE_GCC_TOOLCHAINS:Mgcc*}" != "":?${USE_GCC_TOOLCHAINS}:${_DEFAULT_GCC_VERSION}} +TOOLCHAINS_amd64= amd64-${_GCC_VERSION} +TOOLCHAINS_arm= armv7-${_GCC_VERSION} +TOOLCHAINS_arm64= aarch64-${_GCC_VERSION} +TOOLCHAINS_i386= i386-${_GCC_VERSION} +TOOLCHAINS_powerpc= powerpc-${_GCC_VERSION} powerpc64-${_GCC_VERSION} +TOOLCHAIN_powerpc64= powerpc64-${_GCC_VERSION} +TOOLCHAINS_riscv= riscv64-${_GCC_VERSION} .endif # If a target is using an external toolchain, set MAKE_PARAMS to enable use diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index 32c33aa3d730..5ca44c51cf56 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 13, 2024 +.Dd January 10, 2025 .Dt BUILD 7 .Os .Sh NAME @@ -879,6 +879,11 @@ This variable implies 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. +.Pp +A specific version of GCC can be used by setting the value of this variable +to the desired version +.Pq for example, Dq gcc14 ; +otherwise a default version of GCC is used. .It Va TARGETS Only build the listed targets instead of each supported architecture. .It Va EXTRA_TARGETS |