git: b6f9ddb365c7 - main - lang/gcc15: Build jit only when bootstrap is on

From: Lorenzo Salvadore <salvadore_at_FreeBSD.org>
Date: Wed, 10 Sep 2025 10:12:15 UTC
The branch main has been updated by salvadore:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b6f9ddb365c7f3975bfb690b0422d01e33e5c3d6

commit b6f9ddb365c7f3975bfb690b0422d01e33e5c3d6
Author:     Lorenzo Salvadore <salvadore@FreeBSD.org>
AuthorDate: 2025-08-27 14:42:02 +0000
Commit:     Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2025-09-10 10:09:59 +0000

    lang/gcc15: Build jit only when bootstrap is on
    
    Building jit without bootstrap does not work, so we add jit to the
    enabled languages only if a bootstrap option has been selected.
    
    Indeed, building GCC on FreeBSD with FreeBSD's default compiler
    (clang) and without bootstraping it is not fully supported.
    
    See e-mail
    https://lists.freebsd.org/archives/dev-commits-ports-main/2025-August/160223.html
    for more details.
    
    Reported by:    vishwin
---
 lang/gcc15/Makefile | 8 ++++----
 lang/gcc15/pkg-help | 5 ++++-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/lang/gcc15/Makefile b/lang/gcc15/Makefile
index 957ccabf391e..d4e52f6d3815 100644
--- a/lang/gcc15/Makefile
+++ b/lang/gcc15/Makefile
@@ -80,11 +80,11 @@ CONFIGURE_TARGET=	x86_64-portbld-${OPSYS:tl}${OSREL}
 CONFIGURE_ARGS+=	--with-abi=elfv2
 .endif
 
-.if ${ARCH} == i386
-LANGUAGES:=	c,c++,objc,fortran
-.else
-LANGUAGES:=	c,c++,objc,fortran,jit
+LANGUAGES=	c,c++,objc,fortran
+.if ${ARCH} != i386 && !empty(PORT_OPTIONS:M*BOOTSTRAP)
+LANGUAGES:=	${LANGUAGES},jit
 .endif
+
 TARGLIB=	${PREFIX}/lib/gcc${SUFFIX}
 TARGLIB32=	${PREFIX}/lib32	# The version information is added later
 LIBEXEC=	${PREFIX}/libexec/gcc${SUFFIX}
diff --git a/lang/gcc15/pkg-help b/lang/gcc15/pkg-help
index 9030bbb28d3f..632e1c65f816 100644
--- a/lang/gcc15/pkg-help
+++ b/lang/gcc15/pkg-help
@@ -1,3 +1,6 @@
 Building this port with LTO_BOOTSTRAP enabled requires significant amounts of
 memory and time. Consider disabling LTO_BOOTSTRAP in favor of STANDARD_BOOTSTRAP
-(or disabling BOOTSTRAP altogether) in case that is a problem.
+in case that is a problem.
+
+Note that disabling bootstrap altogether is possible, but not recommended: some
+features (e.g. jit) requires you to choose a bootstrap option to be enabled.