pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

gcc14-gnat: clearing before import to pkgsrc



Module Name:	pkgsrc-wip
Committed By:	Dmytro Kazankov <dkazankov%NetBSD.org@localhost>
Pushed By:	dkazankov
Date:		Mon Apr 14 15:55:38 2025 +0300
Changeset:	05bbae0287446e18c66b6beae9a9555f23682e17

Modified Files:
	gcc14-gnat-libs/Makefile
	gcc14-gnat/Makefile
	gcc14-gnat/PLIST
	gcc14-gnat/buildlink3.mk
	gcc14-gnat/distinfo
	gcc14-gnat/options.mk
	gcc14-gnat/patches/patch-gcc_configure
Removed Files:
	gcc14-gnat/COMMIT_MSG
	gcc14-gnat/gcc.mk

Log Message:
gcc14-gnat: clearing before import to pkgsrc

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=05bbae0287446e18c66b6beae9a9555f23682e17

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 gcc14-gnat-libs/Makefile               |    2 +-
 gcc14-gnat/COMMIT_MSG                  |    3 -
 gcc14-gnat/Makefile                    |    6 +-
 gcc14-gnat/PLIST                       |    3 +-
 gcc14-gnat/buildlink3.mk               |    6 +-
 gcc14-gnat/distinfo                    |    4 +-
 gcc14-gnat/gcc.mk                      | 1340 --------------------------------
 gcc14-gnat/options.mk                  |    7 +-
 gcc14-gnat/patches/patch-gcc_configure |   30 +-
 9 files changed, 30 insertions(+), 1371 deletions(-)

diffs:
diff --git a/gcc14-gnat-libs/Makefile b/gcc14-gnat-libs/Makefile
index a905e90e2d..8749e3406d 100644
--- a/gcc14-gnat-libs/Makefile
+++ b/gcc14-gnat-libs/Makefile
@@ -15,7 +15,7 @@ CATEGORIES=	lang
 MASTER_SITES=	# empty
 DISTFILES=	# empty
 
-MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+MAINTAINER=	dkazankov%NetBSD.org@localhost
 HOMEPAGE=	https://gcc.gnu.org/
 COMMENT=	The GNU Compiler Collection (GCC) support shared libraries
 LICENSE=	gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
diff --git a/gcc14-gnat/COMMIT_MSG b/gcc14-gnat/COMMIT_MSG
deleted file mode 100644
index 9affd0b252..0000000000
--- a/gcc14-gnat/COMMIT_MSG
+++ /dev/null
@@ -1,3 +0,0 @@
-lang/gcc14-gnat: Add new package 14.2.0
-
-* GCC GNAT 14.2 version - initial package release
diff --git a/gcc14-gnat/Makefile b/gcc14-gnat/Makefile
index 6452e5a3c2..25a31d8e59 100644
--- a/gcc14-gnat/Makefile
+++ b/gcc14-gnat/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2024/03/08 13:25:12 wiz Exp $
+# $NetBSD: Makefile,v 1.0 2025/04/14 13:25:00 dkazankov Exp $
 
 GCC_PKGNAME=		gcc14
 GCC_DIST_VERSION=	14.2.0
@@ -10,7 +10,7 @@ CATEGORIES=	lang
 MASTER_SITES=	${MASTER_SITE_GNU:=gcc/gcc-${GCC_DIST_VERSION}/}
 EXTRACT_SUFX=	.tar.xz
 
-MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+MAINTAINER=	dkazankov%NetBSD.org@localhost
 HOMEPAGE=	https://gcc.gnu.org/
 LICENSE=	gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
 
@@ -91,7 +91,7 @@ SUBST_FILES.fixinc=	gcc/Makefile.in
 SUBST_SED.fixinc=	-e "s,\./fixinc.sh,-c true,"
 .endif
 
-.if !empty(MACHINE_PLATFORM:MNetBSD-*-*)
+.if ${MACHINE_PLATFORM:MNetBSD-*-*}
 # on NetBSD, use the native SSP code in libc
 CONFIGURE_ARGS+=	--disable-libssp
 # Match base libstdc++ major
diff --git a/gcc14-gnat/PLIST b/gcc14-gnat/PLIST
index d018be05ce..b13eefc33c 100644
--- a/gcc14-gnat/PLIST
+++ b/gcc14-gnat/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.1 2024/03/08 12:02:33 wiz Exp $
+@comment $NetBSD: PLIST,v 1.0 2025/04/14 13:25:00 dkazankov Exp $
 gcc14-gnat/bin/ada
 gcc14-gnat/bin/c++
 gcc14-gnat/bin/cpp
@@ -3622,6 +3622,7 @@ gcc14-gnat/lib/gcc/x86_64--netbsd/${PKGVERSION}/plugin/include/cppdefault.h
 gcc14-gnat/lib/gcc/x86_64--netbsd/${PKGVERSION}/plugin/include/cpplib.h
 gcc14-gnat/lib/gcc/x86_64--netbsd/${PKGVERSION}/plugin/include/cselib.h
 gcc14-gnat/lib/gcc/x86_64--netbsd/${PKGVERSION}/plugin/include/ctfc.h
+gcc14-gnat/lib/gcc/x86_64--netbsd/${PKGVERSION}/plugin/include/cumulative-args.h
 gcc14-gnat/lib/gcc/x86_64--netbsd/${PKGVERSION}/plugin/include/d/d-tree.def
 gcc14-gnat/lib/gcc/x86_64--netbsd/${PKGVERSION}/plugin/include/data-streamer.h
 gcc14-gnat/lib/gcc/x86_64--netbsd/${PKGVERSION}/plugin/include/dbgcnt.def
diff --git a/gcc14-gnat/buildlink3.mk b/gcc14-gnat/buildlink3.mk
index c2ca47d8af..6d38499313 100644
--- a/gcc14-gnat/buildlink3.mk
+++ b/gcc14-gnat/buildlink3.mk
@@ -7,7 +7,7 @@ GCC14_GNAT_BUILDLINK3_MK:=
 
 BUILDLINK_API_DEPENDS.gcc14-gnat+=	gcc14-gnat>=14
 BUILDLINK_ABI_DEPENDS.gcc14-gnat+=	gcc14-gnat>=14.1
-BUILDLINK_PKGSRCDIR.gcc14-gnat=		../../wip/gcc14-gnat
+BUILDLINK_PKGSRCDIR.gcc14-gnat=		../../lang/gcc14-gnat
 BUILDLINK_DEPMETHOD.gcc14-gnat?=	build
 
 PREPEND_PATH+=	${BUILDLINK_DIR}/gcc14-gnat/bin
@@ -29,8 +29,8 @@ BUILDLINK_LIBDIRS.gcc14-gnat+=	${ADALIB_PREFIX}
 BUILDLINK_LIBDIRS.gcc14-gnat+=	${ADALIB_PREFIX}/adalib
 BUILDLINK_LIBDIRS.gcc14-gnat+=	gcc14-gnat/${GNU_TARGET_MACHINE}/lib
 
-BUILDLINK_CONTENTS_FILTER.gcc14-gnat = ${EGREP} \
-    '(bin/.*|include/.*|lib/.*|libexec/.*|${GNU_TARGET_MACHINE}/lib/.*)'
+BUILDLINK_CONTENTS_FILTER.gcc14-gnat=	${EGREP} \
+					'(bin/.*|include/.*|lib/.*|libexec/.*|${GNU_TARGET_MACHINE}/lib/.*)'
 
 pkgbase := gcc14-gnat
 .include "../../mk/pkg-build-options.mk"
diff --git a/gcc14-gnat/distinfo b/gcc14-gnat/distinfo
index ebe847d16f..208304a657 100644
--- a/gcc14-gnat/distinfo
+++ b/gcc14-gnat/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.1 2024/03/08 12:02:33 wiz Exp $
+$NetBSD: distinfo,v 1.0 2025/04/14 13:25:00 dkazankov Exp $
 
 BLAKE2s (gcc-14.2.0.tar.xz) = 4cbc121d8d3982be05e1d0621363c6ec4cd34c78007a1af0599559370a93376e
 SHA512 (gcc-14.2.0.tar.xz) = 932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396
@@ -63,7 +63,7 @@ SHA1 (patch-gcc_config_darwin-protos.h) = cdaa9848139da663d99c0ebe3b1607f81ad972
 SHA1 (patch-gcc_config_darwin.cc) = 8502f81a59ab598ca2c95bce48402eb0faa7142d
 SHA1 (patch-gcc_config_darwin.h) = 572f28da4ed7894a82bd0c26f38a1c3c2ce1b5f6
 SHA1 (patch-gcc_config_darwin.opt) = 1fe22bedc6ae111157506a400ba6835040d6c2fe
-SHA1 (patch-gcc_configure) = 06e3477adb4208aa454f0a4de4679c868e8e51b5
+SHA1 (patch-gcc_configure) = 994d5d8d55ab35c290340e5945ac6fba5f9c9455
 SHA1 (patch-gcc_configure.ac) = abef894c5b5b00a9a6f5a480d01b36e021f87bef
 SHA1 (patch-gcc_cp_decl2.cc) = a49d15680d627b7bae2833ca6eafabf109c2fa5f
 SHA1 (patch-gcc_cp_parser.cc) = 31a5e3ac6ae9fda1559358876b18770f064293cc
diff --git a/gcc14-gnat/gcc.mk b/gcc14-gnat/gcc.mk
deleted file mode 100644
index 16ecb724f8..0000000000
--- a/gcc14-gnat/gcc.mk
+++ /dev/null
@@ -1,1340 +0,0 @@
-# $NetBSD: gcc.mk,v 1.286 2025/02/11 19:30:18 gdt Exp $
-#
-# This is the compiler definition for the GNU Compiler Collection.
-#
-# User-settable variables:
-#
-# GCCBASE
-#	If using a native GCC and the compiler is not in $PATH then
-#	this should be set to the base installation directory.
-#
-# USE_NATIVE_GCC
-#	When set to "yes", the native gcc is used, no matter which
-#	compiler version a package requires.
-#
-# USE_PKGSRC_GCC
-#	When set to "yes", use an appropriate version of GCC from
-#	pkgsrc based on GCC_REQD instead of the native compiler.
-#
-# USE_PKGSRC_GCC_RUNTIME
-#	When set to "yes", the runtime gcc libraries (libgcc, libstdc++
-#	etc) will be used from pkgsrc rather than the native compiler.
-#
-# GCC_VERSION_SUFFIX
-#	Optional suffix for GCC binaries, i.e. if the installed names are like
-#	/usr/bin/g++-5, /usr/bin/gcc-5 etc.
-
-# Package-settable variables:
-#
-# GCC_REQD
-#	The minimum version of the GNU Compiler Collection that is
-#	required to build this package. Setting this variable doesn't
-#	change the compiler that is used for building packages. See
-#	ONLY_FOR_COMPILER for that purpose. This is a list of version
-#	numbers, of which the maximum version is the definitive one.
-#
-#	This variable can also be set by the user when USE_PKGSRC_GCC
-#	is in effect to ensure that a specific compiler is used for
-#	packages which do not specify a higher version.
-#
-# USE_GCC_RUNTIME
-#	Packages which build shared libraries but do not use libtool to
-#	do so should define this variable.  It is used to determine whether
-#	the gcc runtime should be depended upon when a user has enabled
-#	USE_PKGSRC_GCC_RUNTIME.
-#
-# System-defined variables:
-#
-# CC_VERSION
-#	A string of the form "gcc-4.3.2"
-#
-# CC_VERSION_STRING
-#	The same(?) as CC_VERSION. FIXME: What's the difference between
-#	the two?
-#
-# Keywords: gcc
-#
-
-.if !defined(COMPILER_GCC_MK)
-COMPILER_GCC_MK=	defined
-
-_VARGROUPS+=	gcc
-_USER_VARS.gcc=	\
-	USE_NATIVE_GCC USE_PKGSRC_GCC USE_PKGSRC_GCC_RUNTIME \
-	GCCBASE GCC_VERSION_SUFFIX \
-	TOOLS_USE_CROSS_COMPILE \
-	PKGSRC_USE_FORTIFY PKGSRC_USE_RELRO PKGSRC_USE_SSP \
-	COMPILER_USE_SYMLINKS CC
-_PKG_VARS.gcc=	\
-	GCC_REQD USE_GCC_RUNTIME USE_LANGUAGES
-_SYS_VARS.gcc=	\
-	CC_VERSION CC_VERSION_STRING LANGUAGES.gcc \
-	CCPATH CPPPATH CXXPATH F77PATH FCPATH \
-	PKG_CC PKG_CPP PKG_CXX PKG_FC FC PKGSRC_FORTRAN \
-	ADAPATH GMKPATH GLKPATH GBDPATH CHPPATH GLSPATH GNTPATH PRPPATH
-_DEF_VARS.gcc=	\
-	MAKEFLAGS IMAKEOPTS \
-	CFLAGS LDFLAGS \
-	PREPEND_PATH \
-	COMPILER_INCLUDE_DIRS COMPILER_LIB_DIRS \
-	CWRAPPERS_APPEND.cc CWRAPPERS_APPEND.cxx CWRAPPERS_APPEND.ld \
-	PKG_ADA PKG_GMK PKG_GLK PKG_GBD PKG_CHP PKG_GNT PKG_GLS PKG_PRP \
-	PKGSRC_ADA PKGSRC_GMK PKGSRC_GLK PKGSRC_GBD PKGSRC_CHP PKGSRC_GNT PKGSRC_GLS PKGSRC_PRP \
-	_CC _COMPILER_RPATH_FLAG _COMPILER_STRIP_VARS \
-	_GCCBINDIR _GCC_ARCHDIR _GCC_BIN_PREFIX _GCC_CFLAGS \
-	_GCC_CC _GCC_CPP _GCC_CXX _GCC_DEPENDENCY _GCC_DEPENDS \
-	_GCC_DIST_NAME _GCC_DIST_VERSION \
-	_GCC_FC _GCC_LDFLAGS _GCC_LIBDIRS _GCC_PKG \
-	_GCC_PKGBASE _GCC_PKGSRCDIR _GCC_PKG_SATISFIES_DEP \
-	_GCC_PREFIX _GCC_REQD _GCC_STRICTEST_REQD _GCC_SUBPREFIX \
-	_GCC_TEST_DEPENDS _GCC_NEEDS_A_FORTRAN _GCC_VARS _GCC_VERSION \
-	_GCC_VERSION_STRING \
-	_GCC_ADA _GCC_GMK _GCC_GLK _GCC_GBD _GCC_CHP _GCC_GLS _GCC_GNT _GCC_PRP \
-	_IGNORE_GCC \
-	_IS_BUILTIN_GCC \
-	_LANGUAGES.gcc \
-	_LINKER_RPATH_FLAG \
-	_NEED_GCC6 _NEED_GCC7 _NEED_GCC8 _NEED_GCC9 \
-	_NEED_GCC10 _NEED_GCC12 _NEED_GCC13 _NEED_GCC14 \
-	_NEED_GCC_AUX _NEED_NEWER_GCC \
-	_NEED_GCC6_AUX _NEED_GCC10_AUX _NEED_GCC13_GNAT _NEED_GCC14_GNAT \
-	_PKGSRC_GCC_VERSION \
-	_USE_GCC_SHLIB _USE_PKGSRC_GCC \
-	_WRAP_EXTRA_ARGS.CC \
-	_EXTRA_CC_DIRS \
-	_C_STD_VERSIONS \
-	${_C_STD_VERSIONS:@std@_C_STD_FLAG.${std}@} \
-	_CXX_STD_VERSIONS \
-	${_CXX_STD_VERSIONS:@std@_CXX_STD_FLAG.${std}@} \
-	_MKPIE_CFLAGS.gcc _MKPIE_LDFLAGS \
-	_FORTIFY_CFLAGS _RELRO_LDFLAGS _STACK_CHECK_CFLAGS \
-	_CTF_CFLAGS \
-	_GCC_DIR \
-	_ALIASES.CC _ALIASES.CPP _ALIASES.CXX _ALIASES.FC \
-	_ALIASES.ADA _ALIASES.GMK _ALIASES.GLK _ALIASES.GBD \
-	_ALIASES.CHP _ALIASES.PRP _ALIASES.GLS _ALIASES.GNT \
-	_COMPILER_ABI_FLAG.32 _COMPILER_ABI_FLAG.64 \
-	_COMPILER_ABI_FLAG.n32 _COMPILER_ABI_FLAG.o32 \
-	_SSP_CFLAGS \
-	_CXX_STD_FLAG.c++03 _CXX_STD_FLAG.gnu++03
-_USE_VARS.gcc=	\
-	MACHINE_ARCH PATH DRAGONFLY_CCVER OPSYS TOOLBASE \
-	USE_LIBTOOL \
-	LIBABISUFFIX \
-	COMPILER_RPATH_FLAG \
-	MACHINE_GNU_PLATFORM \
-	WRKDIR MACHINE_PLATFORM PKGPATH \
-	_PKGSRC_MKPIE _PKGSRC_MKREPRO _MKREPRO_CFLAGS.gcc \
-	_PKGSRC_USE_FORTIFY _PKGSRC_USE_RELRO _PKGSRC_USE_STACK_CHECK \
-	_OPSYS_INCLUDE_DIRS _OPSYS_LIB_DIRS
-_IGN_VARS.gcc=	\
-	_GCC6_PATTERNS _GCC7_PATTERNS _GCC8_PATTERNS _GCC9_PATTERNS \
-	_GCC10_PATTERNS _GCC12_PATTERNS _GCC13_PATTERNS _GCC14_PATTERNS _GCC_AUX_PATTERNS
-_LISTED_VARS.gcc= \
-	MAKEFLAGS IMAKEOPTS LDFLAGS PREPEND_PATH
-.include "../../mk/bsd.prefs.mk"
-
-USE_NATIVE_GCC?=	no
-USE_PKGSRC_GCC?=	no
-USE_PKGSRC_GCC_RUNTIME?=no
-
-#
-# Each successive GCC_REQD has an associated cost below when executing
-# pkg_admin to determine if it's suitable, so only add these incredibly
-# old versions if we haven't already set one.
-#
-.if !defined(GCC_REQD)
-.  if !empty(USE_LANGUAGES:Mc99) || ${MACHINE_ARCH} == "x86_64"
-GCC_REQD+=	3.0
-.  else
-GCC_REQD+=	2.8.0
-.  endif
-.endif
-
-.include "../../mk/compiler/gcc-style-args.mk"
-
-#
-# Most of the time, GCC adds support for features of new C and C++
-# standards incrementally; we define USE_CXX_FEATURES=c++XX as
-# intending to require a compiler that fully supports the standard.
-#
-# We of course only choose versions in pkgsrc, and tend towards a gcc
-# version included in a NetBSD release, because those are known to
-# work well, and because it is simpler to limit selection to fewer
-# versions.  This tendency is much stronger for C++ versions, and less
-# so for c11.
-#
-# Thus we tend to:
-#   - gcc 4.8, in NetBSD 7, CentOS 7
-#   - gcc 5, in NetBSD 8
-#   - gcc 7, in NetBSD 9
-#   - gcc 10, in NetBSD 10
-#
-# Other systems have different versions, and we note a few:
-#
-#  - gcc 8, in Enterprise Linux 8
-#
-# Resources:
-# https://gcc.gnu.org/projects/cxx-status.html
-# https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html
-# https://gcc.gnu.org/wiki/C11Status
-# https://gcc.gnu.org/c99status.html
-#
-
-.if !empty(USE_CXX_FEATURES:Mc++23)
-# gcc documents that 14 is required.
-GCC_REQD+=     14
-.endif
-
-.if !empty(USE_CXX_FEATURES:Mc++20)
-# gcc documents that 11 is required, with a few perhaps-obscure
-# features requiring 12.  gcc10 does not define __cplusplus as meeting
-# c++20.
-GCC_REQD+=	12
-.endif
-
-.if !empty(USE_CXX_FEATURES:Mc++17)
-# gcc documents that 7 is required, except for a perhaps-obscure
-# template feature.  However, <charconv> is part of c++17 and that
-# requires gcc 8.  7 is the version in netbsd-9.
-
-GCC_REQD+=	7
-.endif
-
-.if !empty(USE_CXX_FEATURES:Mc++14)
-# gcc documents that 5 is required.
-GCC_REQD+=	5
-.endif
-
-.if !empty(USE_CXX_FEATURES:Mc++11)
-# gcc documents that 4.8.1 is required.  (In addition, versions before
-# 4.7 do not accept -std=c++11 and are thus not acceptable.)
-GCC_REQD+=	4.8
-.endif
-
-.if !empty(USE_CXX_FEATURES:Mhas_include) || \
-    !empty(USE_CC_FEATURES:Mhas_include)
-GCC_REQD+=	5
-.endif
-
-.if !empty(USE_CC_FEATURES:Mc99)
-GCC_REQD+=	3
-.endif
-
-# 4.9 supports c11; don't reject it by rounding up to 5
-.if !empty(USE_CC_FEATURES:Mc11)
-GCC_REQD+=	4.9
-.endif
-
-.if !empty(USE_CC_FEATURES:Mc17)
-# GCC 8 is the first version that works.  10 is the first version
-# shipped with a NetBSD release.
-GCC_REQD+=	10.0
-.endif
-
-# Don't round to gcc 5.
-.if !empty(USE_CXX_FEATURES:Munique_ptr)
-GCC_REQD+=	4.9
-.endif
-
-# Don't round to gcc 5.
-.if !empty(USE_CXX_FEATURES:Mregex)
-GCC_REQD+=	4.9
-.endif
-
-.if !empty(USE_CXX_FEATURES:Mput_time)
-GCC_REQD+=	5
-.endif
-
-.if !empty(USE_CXX_FEATURES:Mis_trivially_copy_constructible)
-GCC_REQD+=	5
-.endif
-
-.if !empty(USE_CXX_FEATURES:Mfilesystem)
-# std::filesystem is part of C++17.
-
-# GCC 8 supports filesystem with explicit linking to the libstdc++fs
-# library, which many packages do not do.  We assume (without
-# checking) that a requirement to add such a library is nonconforming
-# and thus dismiss 8.
-#
-# gcc documents that 8 is suitable and thus we assume 9 would be ok.
-# We choose 10 under the limited versions guideline.
-GCC_REQD+=	10
-.endif
-
-.if !empty(USE_CXX_FEATURES:Mparallelism_ts)
-# parallism_ts is part of C++17.
-
-# Upstream documentation implies that 9 is required.
-# We therefore choose 10 under the limited versions guideline.
-GCC_REQD+=	10
-.endif
-
-.if !empty(USE_CXX_FEATURES:Mcharconv)
-# <charconv> is part of C++17.
-
-# gcc7 fails to provide <charconv>, and it is present in gcc8.
-# Explain why the limited versions guideline is not followed.
-GCC_REQD+=	8
-.endif
-
-# If the Ada language is requested, force use of aux/gnat comilers
-_NEED_GCC_AUX?=no
-.if !empty(USE_LANGUAGES:Mada)
-_NEED_GCC_AUX=yes
-.endif
-
-# _GCC_DIST_VERSION is the highest version of GCC installed by the pkgsrc
-# without the PKGREVISIONs.
-_GCC_DIST_NAME:=	gcc14
-.include "../../lang/${_GCC_DIST_NAME}/version.mk"
-_GCC_DIST_VERSION:=	${${_GCC_DIST_NAME:tu}_DIST_VERSION}
-
-# _GCC6_PATTERNS matches N s.t. N < 7.
-_GCC6_PATTERNS= 5 6 [0-6].*
-
-# _GCC7_PATTERNS matches N s.t. 7.0 <= N < 8.
-_GCC7_PATTERNS= 7 7.*
-
-# _GCC8_PATTERNS matches N s.t. 8.0 <= N < 9.
-_GCC8_PATTERNS= 8 8.*
-
-# _GCC9_PATTERNS matches N s.t. 9.0 <= N < 10.
-_GCC9_PATTERNS= 9 9.*
-
-# _GCC10_PATTERNS matches N s.t. 10.0 <= N < 11.
-_GCC10_PATTERNS= 10 10.*
-
-# _GCC12_PATTERNS matches N s.t. 12.0 <= N < 13.
-# gcc 11.x is not packaged, so depend on gcc12 in that case too
-_GCC12_PATTERNS= 11 11.* 12 12.*
-
-# _GCC13_PATTERNS matches N s.t. 13.0 <= N < 14.
-_GCC13_PATTERNS= 13 13.*
-
-# _GCC14_PATTERNS matches N s.t. 14.0 <= N < 15.
-_GCC14_PATTERNS= 14 14.*
-
-# _GCC_AUX_PATTERNS matches 8-digit date YYYYMMDD*
-_GCC_AUX_PATTERNS= 20[1-2][0-9][0-1][0-9][0-3][0-9]*
-
-# Override the default from sys.mk if necessary.
-.if ${CC} == cc && ${GCCBASE:U} && !exists(${GCCBASE}/bin/${CC}) && exists(${GCCBASE}/bin/gcc)
-CC=	gcc
-.endif
-
-# _CC is the full path to the compiler named by ${CC} if it can be found.
-.if !defined(_CC)
-_CC:=	${CC:[1]}
-.  if !empty(GCCBASE) && exists(${GCCBASE}/bin)
-_EXTRA_CC_DIRS=	${GCCBASE}/bin
-.  endif
-.  for _dir_ in ${_EXTRA_CC_DIRS} ${PATH:C/\:/ /g}
-.    if empty(_CC:M/*)
-.      if exists(${_dir_}/${CC:[1]})
-_CC:=	${_dir_}/${CC:[1]}
-.      endif
-.    endif
-.  endfor
-.  if ${TOOLS_USE_CROSS_COMPILE:tl} == "no"
-# Pass along _CC only if we're working on native packages -- don't pass
-# the cross-compiler on to submakes for building native packages.
-MAKEFLAGS+=	_CC=${_CC:Q}
-.  endif
-.endif
-
-.if !defined(_GCC_VERSION)
-#
-# FIXME: Ideally we'd use PKGSRC_SETENV here, but not enough of the tools
-# infrastructure is loaded for SETENV to be defined when mk/compiler.mk is
-# included first.  LC_ALL is required here for similar reasons, as ALL_ENV
-# is not defined at this stage.
-#
-_GCC_VERSION_STRING!=	\
-	( env LC_ALL=C ${_CC} -v 2>&1 | ${GREP} 'gcc version') 2>/dev/null || ${ECHO} 0
-.  if !empty(_GCC_VERSION_STRING:Megcs*)
-_GCC_VERSION=	2.8.1		# egcs is considered to be gcc-2.8.1.
-.  elif !empty(DRAGONFLY_CCVER) && ${OPSYS} == "DragonFly"
-_GCC_VERSION!= env CCVER=${DRAGONFLY_CCVER} ${_CC} -dumpversion
-.  elif !empty(_GCC_VERSION_STRING:Mgcc*)
-_GCC_VERSION!=	${_CC} -dumpversion
-.  else
-_GCC_VERSION=	0
-.  endif
-.endif
-_GCC_PKG=	gcc-${_GCC_VERSION:C/-.*$//}
-
-.if !empty(_GCC_VERSION:M[23].*) || !empty(_GCC_VERSION:M4.[01].*)
-# A lot of packages attempt to do this as a workaround for a
-# well-intentioned default in XCode 12+, but it's a common cause of
-# build failures on old versions of Darwin which use gcc and don't
-# understand this syntax.
-#
-# Note that pkgsrc also sets this flag itself for Darwin+clang.
-BUILDLINK_TRANSFORM+=	rm:-Wno-error=implicit-function-declaration
-BUILDLINK_TRANSFORM+=	rm:-Wno-error=sign-conversion
-BUILDLINK_TRANSFORM+=	rm:-Wno-error=incompatible-pointer-types
-BUILDLINK_TRANSFORM+=	rm:-Wno-error=implicit-int
-.endif
-
-.if !empty(_GCC_VERSION:M[23].*) || !empty(_GCC_VERSION:M4.[01234].*)
-# Added in GCC 4.5
-BUILDLINK_TRANSFORM+=	rm:-Wno-unused-result
-.endif
-
-.if !empty(_GCC_VERSION:M[23].*) || !empty(_GCC_VERSION:M4.[012].*)
-# Added in GCC 4.3
-BUILDLINK_TRANSFORM+=	rm:-Wvla
-.endif
-
-.if !empty(_GCC_VERSION:M[23].*) || !empty(_GCC_VERSION:M4.0.*)
-# Added in GCC 4.3
-BUILDLINK_TRANSFORM+=	rm:-Wc++-compat
-BUILDLINK_TRANSFORM+=	rm:-Wno-c++-compat
-.endif
-
-.if !empty(_GCC_VERSION:M[23456].*)
-# Added in GCC 7
-BUILDLINK_TRANSFORM+=	rm:-Wimplicit-fallthrough
-BUILDLINK_TRANSFORM+=	rm:-Wno-implicit-fallthrough
-.endif
-
-.if !empty(_GCC_VERSION:M3.*) || !empty(_GCC_VERSION:M4.[0-7].*)
-# Added in GCC 4.8
-BUILDLINK_TRANSFORM+=	opt:-std=c++03:-std=c++98
-BUILDLINK_TRANSFORM+=	opt:-std=gnu++03:-std=gnu++98
-.endif
-
-.if !empty(_GCC_VERSION:M[23].*) || !empty(_GCC_VERSION:M4.[0-8].*)
-COMPILER_HAS_C11?=	no
-.else
-COMPILER_HAS_C11?=	yes
-.endif
-
-.for _version_ in ${_C_STD_VERSIONS}
-_C_STD_FLAG.${_version_}?=	-std=${_version_}
-.endfor
-# XXX: pkgsrc historically hardcoded c99=gnu99 so we retain that for now, but
-# we should look at removing this and be explicit in packages where required.
-_C_STD_FLAG.c99=	-std=gnu99
-
-.for _version_ in ${_CXX_STD_VERSIONS}
-_CXX_STD_FLAG.${_version_}?=	-std=${_version_}
-.endfor
-
-.if !empty(_CC:M${TOOLBASE}/*)
-_IS_BUILTIN_GCC=	NO
-GCC_REQD+=		${_GCC_VERSION}
-.else
-.  if !empty(_CC:M/*)
-#
-# GCC in older versions of Darwin report "Apple Computer ... based on gcc
-# version ...", so we can't just grep for "^gcc".
-#
-.    if ${_GCC_VERSION} != "0"
-_IS_BUILTIN_GCC=	YES
-.    else
-_IS_BUILTIN_GCC=	NO
-.    endif
-.  else
-_IS_BUILTIN_GCC=	NO
-.  endif
-.endif
-
-# Distill the GCC_REQD list into a single _GCC_REQD value that is the
-# highest version of GCC required.
-#
-_GCC_STRICTEST_REQD?=	none
-.for _version_ in ${GCC_REQD}
-.  for _pkg_ in gcc-${_version_}
-.    if ${_GCC_STRICTEST_REQD} == "none"
-_GCC_PKG_SATISFIES_DEP=		YES
-.      for _vers_ in ${GCC_REQD}
-.        if !empty(_GCC_PKG_SATISFIES_DEP:M[yY][eE][sS])
-_GCC_PKG_SATISFIES_DEP!=	\
-	if ${PKG_ADMIN} pmatch 'gcc>=${_vers_}' ${_pkg_} 2>/dev/null; then \
-		${ECHO} "YES";						\
-	else								\
-		${ECHO} "NO";						\
-	fi
-.        endif
-.      endfor
-.      if !empty(_GCC_PKG_SATISFIES_DEP:M[yY][eE][sS])
-_GCC_STRICTEST_REQD=	${_version_}
-.      endif
-.    endif
-.  endfor
-.endfor
-_GCC_REQD=	${_GCC_STRICTEST_REQD}
-
-# Determine which GCC version is required by examining _GCC_REQD.
-_NEED_GCC6?=	no
-.for _pattern_ in ${_GCC6_PATTERNS}
-.  if !empty(_GCC_REQD:M${_pattern_})
-# XXX this won't work without adjustments elsewhere because of how
-# _GCC_REQD is processed.
-#.    if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 089937
-#USE_PKGSRC_GCC=		yes
-#USE_PKGSRC_GCC_RUNTIME=	yes
-#.    endif
-_NEED_GCC6=	yes
-.    if ${ALLOW_NEWER_COMPILER:tl} != "yes"
-PKG_FAIL_REASON+=	"Package requires at least gcc 6 to build"
-.    endif
-.  endif
-.endfor
-_NEED_GCC7?=	no
-.for _pattern_ in ${_GCC7_PATTERNS}
-.  if !empty(_GCC_REQD:M${_pattern_})
-.    if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 089937
-USE_PKGSRC_GCC=		yes
-USE_PKGSRC_GCC_RUNTIME=	yes
-.    endif
-.    if ${ALLOW_NEWER_COMPILER:tl} != "yes"
-PKG_FAIL_REASON+=	"Package requires at least gcc 7 to build"
-.    endif
-_NEED_GCC7=	yes
-.  endif
-.endfor
-_NEED_GCC8?=	no
-.for _pattern_ in ${_GCC8_PATTERNS}
-.  if !empty(_GCC_REQD:M${_pattern_})
-.    if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099917
-USE_PKGSRC_GCC=		yes
-USE_PKGSRC_GCC_RUNTIME=	yes
-.    endif
-.    if ${ALLOW_NEWER_COMPILER:tl} != "yes"
-PKG_FAIL_REASON+=	"Package requires at least gcc 8 to build"
-.    endif
-_NEED_GCC8=	yes
-.  endif
-.endfor
-_NEED_GCC9?=	no
-.for _pattern_ in ${_GCC9_PATTERNS}
-.  if !empty(_GCC_REQD:M${_pattern_})
-.    if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099976
-USE_PKGSRC_GCC=		yes
-USE_PKGSRC_GCC_RUNTIME=	yes
-.    endif
-.    if ${ALLOW_NEWER_COMPILER:tl} != "yes"
-PKG_FAIL_REASON+=	"Package requires at least gcc 9 to build"
-.    endif
-_NEED_GCC9=	yes
-.  endif
-.endfor
-_NEED_GCC10?=	no
-.for _pattern_ in ${_GCC10_PATTERNS}
-.  if !empty(_GCC_REQD:M${_pattern_})
-.    if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 099982
-USE_PKGSRC_GCC=		yes
-USE_PKGSRC_GCC_RUNTIME=	yes
-.    endif
-.    if ${ALLOW_NEWER_COMPILER:tl} != "yes"
-PKG_FAIL_REASON+=	"Package requires at least gcc 10 to build"
-.    endif
-_NEED_GCC10=	yes
-.  endif
-.endfor
-_NEED_GCC12?=	no
-.for _pattern_ in ${_GCC12_PATTERNS}
-.  if !empty(_GCC_REQD:M${_pattern_})
-.    if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} < 109911
-USE_PKGSRC_GCC=		yes
-USE_PKGSRC_GCC_RUNTIME=	yes
-.    endif
-.    if ${ALLOW_NEWER_COMPILER:tl} != "yes"
-PKG_FAIL_REASON+=	"Package requires at least gcc 12 to build"
-.    endif
-_NEED_GCC12=	yes
-.  endif
-.endfor
-_NEED_GCC13?=	no
-.for _pattern_ in ${_GCC13_PATTERNS}
-.  if !empty(_GCC_REQD:M${_pattern_})
-# XXX: pin to a version when NetBSD switches to gcc13
-.    if ${OPSYS} == "NetBSD"
-USE_PKGSRC_GCC=		yes
-USE_PKGSRC_GCC_RUNTIME=	yes
-.    endif
-.    if ${ALLOW_NEWER_COMPILER:tl} != "yes"
-PKG_FAIL_REASON+=	"Package requires at least gcc 13 to build"
-.    endif
-_NEED_GCC13=	yes
-.  endif
-.endfor
-_NEED_GCC14?=	no
-.for _pattern_ in ${_GCC14_PATTERNS}
-.  if !empty(_GCC_REQD:M${_pattern_})
-# XXX: pin to a version when NetBSD switches to gcc14
-.    if ${OPSYS} == "NetBSD"
-USE_PKGSRC_GCC=		yes
-USE_PKGSRC_GCC_RUNTIME=	yes
-.    endif
-.    if ${ALLOW_NEWER_COMPILER:tl} != "yes"
-PKG_FAIL_REASON+=	"Package requires at least gcc 14 to build"
-.    endif
-_NEED_GCC14=	yes
-.  endif
-.endfor
-# AUX patterns really don't work starting from gcc10-aux
-#_NEED_GCC_AUX?=	no
-#.for _pattern_ in ${_GCC_AUX_PATTERNS}
-#.  if !empty(_GCC_REQD:M${_pattern_})
-#_NEED_GCC_AUX=	yes
-#_NEED_NEWER_GCC=NO
-#.  endif
-#.endfor
-.if !empty(_NEED_GCC6:M[nN][oO]) && !empty(_NEED_GCC7:M[nN][oO]) && \
-    !empty(_NEED_GCC8:M[nN][oO]) && !empty(_NEED_GCC9:M[nN][oO]) && \
-    !empty(_NEED_GCC10:M[nN][oO]) && !empty(_NEED_GCC12:M[nN][oO]) && \
-    !empty(_NEED_GCC13:M[nN][oO]) && !empty(_NEED_GCC14:M[nN][oO]) && \
-    !empty(_NEED_GCC_AUX:M[nN][oO])
-_NEED_GCC8=	yes
-.endif
-
-# April 2022: GCC below 10 from pkgsrc is broken on 32-bit arm NetBSD.
-.if !empty(MACHINE_PLATFORM:MNetBSD-*-earm*) && \
-    ${OPSYS_VERSION} < 099900 && \
-    (${_NEED_GCC8:tl} == "yes" || ${_NEED_GCC9:tl} == "yes")
-_NEED_GCC6=	no
-_NEED_GCC7=	no
-_NEED_GCC8=	no
-_NEED_GCC9=	no
-_NEED_GCC10=	yes
-_NEED_GCC12=	yes
-_NEED_GCC13=	yes
-_NEED_GCC14=	yes
-.endif
-
-# We have fixed set of Ada compilers and languages them provided. So we try to find best possible variant
-_NEED_GCC6_AUX?=no
-_NEED_GCC10_AUX?=no
-_NEED_GCC13_GNAT?=no
-_NEED_GCC14_GNAT?=no
-.if ${_NEED_GCC_AUX:tl} == "yes"
-USE_PKGSRC_GCC=yes
-USE_PKGSRC_GCC_RUNTIME=no
-.  if ${ALLOW_NEWER_COMPILER:tl} != "yes"
-PKG_FAIL_REASON+=	"Package requires at least gnat 13 to build"
-.  endif
-_NEED_GCC14_GNAT=yes
-_NEED_GCC13_GNAT=yes
-.  if empty(USE_ADA_FEATURES:Mada2022)
-_NEED_GCC10_AUX=yes
-_NEED_GCC6_AUX=yes
-.  endif
-.  if !empty(USE_LANGUAGES:Mfortran) || !empty(USE_LANGUAGES:Mfortran77)
-.     if ${_NEED_GCC10_AUX:tl} == "yes"
-_NEED_GCC6_AUX=no
-_NEED_GCC13_GNAT=no
-_NEED_GCC14_GNAT=no
-.     else
-PKG_FAIL_REASON+=	"Package requires fortran compiler"
-.     endif
-.  endif
-.  if ${_NEED_GCC6_AUX:tl} == "yes" && ${_NEED_GCC6:tl} != "yes"
-_NEED_GCC6_AUX=no
-.  endif
-.  if ${_NEED_GCC10_AUX:tl} == "yes" && ${_NEED_GCC10:tl} != "yes"
-_NEED_GCC10_AUX=no
-.  endif
-.  if ${_NEED_GCC13_GNAT:tl} == "yes" && ${_NEED_GCC13:tl} != "yes"
-_NEED_GCC13_GNAT=no
-.  endif
-.  if ${_NEED_GCC14_GNAT:tl} == "yes" && ${_NEED_GCC14:tl} != "yes"
-_NEED_GCC14_GNAT=no
-.  endif
-.  if !empty(USE_LANGUAGES:Mobjc)
-_NEED_GCC6_AUX=no
-_NEED_GCC10_AUX=no
-_NEED_GCC13_GNAT=no
-_NEED_GCC14_GNAT=no
-PKG_FAIL_REASON+=	"Package requires objc compiler"
-.  endif
-.  if !empty(USE_LANGUAGES:Mobj-c++)
-_NEED_GCC6_AUX=no
-_NEED_GCC10_AUX=no
-_NEED_GCC13_GNAT=no
-_NEED_GCC14_GNAT=no
-PKG_FAIL_REASON+=	"Package requires obj-c++ compiler"
-.  endif
-.  if !empty(USE_LANGUAGES:Mgo)
-_NEED_GCC6_AUX=no
-_NEED_GCC10_AUX=no
-_NEED_GCC13_GNAT=no
-_NEED_GCC14_GNAT=no
-PKG_FAIL_REASON+=	"Package requires go compiler"
-.  endif
-.  if !empty(USE_LANGUAGES:Mjava)
-_NEED_GCC6_AUX=no
-_NEED_GCC10_AUX=no
-_NEED_GCC13_GNAT=no
-_NEED_GCC14_GNAT=no
-PKG_FAIL_REASON+=	"Package requires java compiler"
-.  endif
-_NEED_GCC6=no
-_NEED_GCC7=no
-_NEED_GCC8=no
-_NEED_GCC9=no
-_NEED_GCC10=no
-_NEED_GCC12=no
-_NEED_GCC13=no
-_NEED_GCC14=no
-.  if ${_NEED_GCC14_GNAT:tl} == "yes"
-_NEED_GCC6_AUX=no
-_NEED_GCC10_AUX=no
-_NEED_GCC13_GNAT=no
-.  elif ${_NEED_GCC13_GNAT:tl} == "yes"
-_NEED_GCC6_AUX=no
-_NEED_GCC10_AUX=no
-.  elif ${_NEED_GCC10_AUX:tl} == "yes"
-_NEED_GCC6_AUX=no
-.  endif
-.endif
-
-# Assume by default that GCC will only provide a C compiler.
-LANGUAGES.gcc?=	c
-.if !empty(_NEED_GCC6:M[yY][eE][sS])
-LANGUAGES.gcc=	c c++ fortran fortran77 go java objc obj-c++
-.elif !empty(_NEED_GCC7:M[yY][eE][sS])
-LANGUAGES.gcc=	c c++ fortran fortran77 go java objc obj-c++
-.elif !empty(_NEED_GCC8:M[yY][eE][sS])
-LANGUAGES.gcc=	c c++ fortran fortran77 go java objc obj-c++
-.elif !empty(_NEED_GCC9:M[yY][eE][sS])
-LANGUAGES.gcc=	c c++ fortran fortran77 go java objc obj-c++
-.elif !empty(_NEED_GCC10:M[yY][eE][sS])
-LANGUAGES.gcc=	c c++ fortran fortran77 go java objc obj-c++
-.elif !empty(_NEED_GCC12:M[yY][eE][sS])
-LANGUAGES.gcc=	c c++ fortran fortran77 go java objc obj-c++
-.elif !empty(_NEED_GCC13:M[yY][eE][sS])
-LANGUAGES.gcc=	c c++ fortran fortran77 go java objc obj-c++
-.elif !empty(_NEED_GCC14:M[yY][eE][sS])
-LANGUAGES.gcc=	c c++ fortran fortran77 go java objc obj-c++
-#.elif !empty(_NEED_GCC_AUX:M[yY][eE][sS])
-#LANGUAGES.gcc=	c c++ fortran fortran77 objc ada
-.elif !empty(_NEED_GCC6_AUX:M[yY][eE][sS])
-# gcc6-aux doesn't provide some languages
-LANGUAGES.gcc=	c c++ ada
-.elif !empty(_NEED_GCC10_AUX:M[yY][eE][sS])
-LANGUAGES.gcc=	c c++ fortran fortran77 ada
-.elif !empty(_NEED_GCC13_GNAT:M[yY][eE][sS])
-LANGUAGES.gcc=c c++ ada
-.elif !empty(_NEED_GCC14_GNAT:M[yY][eE][sS])
-LANGUAGES.gcc=c c++ ada
-.endif
-_LANGUAGES.gcc=		# empty
-.for _lang_ in ${USE_LANGUAGES}
-_LANGUAGES.gcc+=	${LANGUAGES.gcc:M${_lang_}}
-.endfor
-
-.if ${_PKGSRC_USE_STACK_CHECK} == "yes"
-_STACK_CHECK_CFLAGS=	-fstack-check
-_GCC_CFLAGS+=		${_STACK_CHECK_CFLAGS}
-.elif ${_PKGSRC_USE_STACK_CHECK} == "stack-clash"
-_STACK_CHECK_CFLAGS=	-fstack-clash-protection
-_GCC_CFLAGS+=		${_STACK_CHECK_CFLAGS}
-.endif
-
-.if ${_PKGSRC_MKPIE} == "yes"
-_MKPIE_FCFLAGS=		-fPIC
-.  if ${PKGSRC_OVERRIDE_MKPIE:tl} == "no"
-_GCC_FCFLAGS+=		${_MKPIE_FCFLAGS}
-.  endif
-.endif
-
-# GCC has this annoying behaviour where it advocates in a multi-line
-# banner the use of "#include" over "#import" when including headers.
-# This generates a huge number of warnings when building practically all
-# Objective-C code where it is convention to use "#import".  Suppress
-# the warning if we're building Objective-C code using GCC.
-#
-.if !empty(_LANGUAGES.gcc:Mobjc)
-CFLAGS+=	-Wno-import
-.endif
-
-CFLAGS+=	${_GCC_CFLAGS}
-FCFLAGS+=	${_GCC_FCFLAGS}
-
-.if !empty(_NEED_GCC6:M[yY][eE][sS])
-#
-# We require gcc-6.x in the lang/gcc6-* directory.
-#
-_GCC_PKGBASE=		gcc6
-.  if ${PKGPATH} == lang/gcc6
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../lang/gcc6
-_GCC_DEPENDENCY=	gcc6>=${_GCC_REQD}:../../lang/gcc6
-.    if !empty(_LANGUAGES.gcc:Mc++) || \
-        !empty(_LANGUAGES.gcc:Mfortran) || \
-        !empty(_LANGUAGES.gcc:Mfortran77) || \
-        !empty(_LANGUAGES.gcc:Mgo) || \
-        !empty(_LANGUAGES.gcc:Mobjc) || \
-        !empty(_LANGUAGES.gcc:Mobj-c++)
-_USE_GCC_SHLIB?=	yes
-.    endif
-.  endif
-.elif !empty(_NEED_GCC7:M[yY][eE][sS])
-#
-# We require gcc-7.x in the lang/gcc7-* directory.
-#
-_GCC_PKGBASE=		gcc7
-.  if ${PKGPATH} == lang/gcc7
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../lang/gcc7
-_GCC_DEPENDENCY=	gcc7>=${_GCC_REQD}:../../lang/gcc7
-.    if !empty(_LANGUAGES.gcc:Mc++) || \
-        !empty(_LANGUAGES.gcc:Mfortran) || \
-        !empty(_LANGUAGES.gcc:Mfortran77) || \
-        !empty(_LANGUAGES.gcc:Mgo) || \
-        !empty(_LANGUAGES.gcc:Mobjc) || \
-        !empty(_LANGUAGES.gcc:Mobj-c++)
-_USE_GCC_SHLIB?=	yes
-.    endif
-.  endif
-.elif !empty(_NEED_GCC8:M[yY][eE][sS])
-#
-# We require gcc-8.x in the lang/gcc8-* directory.
-#
-_GCC_PKGBASE=		gcc8
-.  if ${PKGPATH} == lang/gcc8
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../lang/gcc8
-_GCC_DEPENDENCY=	gcc8>=${_GCC_REQD}:../../lang/gcc8
-.    if !empty(_LANGUAGES.gcc:Mc++) || \
-        !empty(_LANGUAGES.gcc:Mfortran) || \
-        !empty(_LANGUAGES.gcc:Mfortran77) || \
-        !empty(_LANGUAGES.gcc:Mgo) || \
-        !empty(_LANGUAGES.gcc:Mobjc) || \
-        !empty(_LANGUAGES.gcc:Mobj-c++)
-_USE_GCC_SHLIB?=	yes
-.    endif
-.  endif
-.elif !empty(_NEED_GCC9:M[yY][eE][sS])
-#
-# We require gcc-9.x in the lang/gcc9-* directory.
-#
-_GCC_PKGBASE=		gcc9
-.  if ${PKGPATH} == lang/gcc9
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../lang/gcc9
-_GCC_DEPENDENCY=	gcc9>=${_GCC_REQD}:../../lang/gcc9
-.    if !empty(_LANGUAGES.gcc:Mc++) || \
-        !empty(_LANGUAGES.gcc:Mfortran) || \
-        !empty(_LANGUAGES.gcc:Mfortran77) || \
-        !empty(_LANGUAGES.gcc:Mgo) || \
-        !empty(_LANGUAGES.gcc:Mobjc) || \
-        !empty(_LANGUAGES.gcc:Mobj-c++)
-_USE_GCC_SHLIB?=	yes
-.    endif
-.  endif
-.elif !empty(_NEED_GCC10:M[yY][eE][sS])
-#
-# We require gcc-10.x in the lang/gcc10-* directory.
-#
-_GCC_PKGBASE=		gcc10
-.  if ${PKGPATH} == lang/gcc10
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../lang/gcc10
-_GCC_DEPENDENCY=	gcc10>=${_GCC_REQD}:../../lang/gcc10
-.    if !empty(_LANGUAGES.gcc:Mc++) || \
-        !empty(_LANGUAGES.gcc:Mfortran) || \
-        !empty(_LANGUAGES.gcc:Mfortran77) || \
-        !empty(_LANGUAGES.gcc:Mgo) || \
-        !empty(_LANGUAGES.gcc:Mobjc) || \
-        !empty(_LANGUAGES.gcc:Mobj-c++)
-_USE_GCC_SHLIB?=	yes
-.    endif
-.  endif
-.elif !empty(_NEED_GCC12:M[yY][eE][sS])
-#
-# We require gcc-12.x in the lang/gcc12-* directory.
-#
-_GCC_PKGBASE=		gcc12
-.  if ${PKGPATH} == lang/gcc12
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../lang/gcc12
-_GCC_DEPENDENCY=	gcc12>=${_GCC_REQD}:../../lang/gcc12
-.    if !empty(_LANGUAGES.gcc:Mc++) || \
-        !empty(_LANGUAGES.gcc:Mfortran) || \
-        !empty(_LANGUAGES.gcc:Mfortran77) || \
-        !empty(_LANGUAGES.gcc:Mgo) || \
-        !empty(_LANGUAGES.gcc:Mobjc) || \
-        !empty(_LANGUAGES.gcc:Mobj-c++)
-_USE_GCC_SHLIB?=	yes
-.    endif
-.  endif
-.elif !empty(_NEED_GCC13:M[yY][eE][sS])
-#
-# We require gcc-13.x in the lang/gcc13-* directory.
-#
-_GCC_PKGBASE=		gcc13
-.  if ${PKGPATH} == lang/gcc13
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../lang/gcc13
-_GCC_DEPENDENCY=	gcc13>=${_GCC_REQD}:../../lang/gcc13
-.    if !empty(_LANGUAGES.gcc:Mc++) || \
-        !empty(_LANGUAGES.gcc:Mfortran) || \
-        !empty(_LANGUAGES.gcc:Mfortran77) || \
-        !empty(_LANGUAGES.gcc:Mgo) || \
-        !empty(_LANGUAGES.gcc:Mobjc) || \
-        !empty(_LANGUAGES.gcc:Mobj-c++)
-_USE_GCC_SHLIB?=	yes
-.    endif
-.  endif
-.elif !empty(_NEED_GCC14:M[yY][eE][sS])
-#
-# We require gcc-14.x in the lang/gcc14-* directory.
-#
-_GCC_PKGBASE=		gcc14
-.  if ${PKGPATH} == lang/gcc14
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../lang/gcc14
-_GCC_DEPENDENCY=	gcc14>=${_GCC_REQD}:../../lang/gcc14
-.    if !empty(_LANGUAGES.gcc:Mc++) || \
-        !empty(_LANGUAGES.gcc:Mfortran) || \
-        !empty(_LANGUAGES.gcc:Mfortran77) || \
-        !empty(_LANGUAGES.gcc:Mgo) || \
-        !empty(_LANGUAGES.gcc:Mobjc) || \
-        !empty(_LANGUAGES.gcc:Mobj-c++)
-_USE_GCC_SHLIB?=	yes
-.    endif
-.  endif
-.elif !empty(_NEED_GCC6_AUX:M[yY][eE][sS])
-#
-# We require Ada-capable compiler in the lang/gcc6-aux directory.
-#
-_GCC_PKGBASE=		gcc6-aux
-.  if ${PKGPATH} == lang/gcc6-aux
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../lang/gcc6-aux
-_GCC_DEPENDENCY=	gcc6-aux>=${_GCC_REQD}:../../lang/gcc6-aux
-.    if !empty(_LANGUAGES.gcc:Mc++) || \
-        !empty(_LANGUAGES.gcc:Mada)
-_USE_GCC_SHLIB?=	no
-.    endif
-.  endif
-.elif !empty(_NEED_GCC10_AUX:M[yY][eE][sS])
-#
-# We require Ada-capable compiler in the lang/gcc10-aux directory.
-#
-_GCC_PKGBASE=		gcc10-aux
-.  if ${PKGPATH} == lang/gcc10-aux
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../lang/gcc10-aux
-_GCC_DEPENDENCY=	gcc10-aux>=${_GCC_REQD}:../../lang/gcc10-aux
-.    if !empty(_LANGUAGES.gcc:Mc++) || \
-        !empty(_LANGUAGES.gcc:Mfortran) || \
-        !empty(_LANGUAGES.gcc:Mfortran77) || \
-        !empty(_LANGUAGES.gcc:Mada)
-_USE_GCC_SHLIB?=	no
-.    endif
-.  endif
-.elif !empty(_NEED_GCC13_GNAT:M[yY][eE][sS])
-#
-# We require Ada-capable compiler in the lang/gcc13-gnat directory.
-#
-_GCC_PKGBASE=		gcc13-gnat
-.  if ${PKGPATH} == lang/gcc13-gnat
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../lang/gcc13-gnat
-_GCC_DEPENDENCY=	gcc13-gnat>=${_GCC_REQD}:../../lang/gcc13-gnat
-_USE_GCC_SHLIB?=	no
-.  endif
-.elif !empty(_NEED_GCC14_GNAT:M[yY][eE][sS])
-#
-# We require Ada-capable compiler in the wip/gcc14-gnat directory.
-#
-_GCC_PKGBASE=		gcc14-gnat
-.  if ${PKGPATH} == wip/gcc14-gnat
-_IGNORE_GCC=		yes
-MAKEFLAGS+=		_IGNORE_GCC=yes
-.  endif
-.  if !defined(_IGNORE_GCC) && !empty(_LANGUAGES.gcc)
-_GCC_PKGSRCDIR=		../../wip/gcc14-gnat
-_GCC_DEPENDENCY=	gcc14-gnat>=${_GCC_REQD}:../../wip/gcc14-gnat
-_USE_GCC_SHLIB?=	no
-.  endif
-.endif
-_GCC_DEPENDS=		${_GCC_PKGBASE}>=${_GCC_REQD}
-
-# When not using the GNU linker, gcc will always link shared libraries against
-# the shared version of libgcc, and so _USE_GCC_SHLIB needs to be enabled on
-# platforms with non-GNU linkers, such as SunOS.
-#
-# However, we cannot simply do this by default as it will create circular
-# dependencies in packages which are required to build gcc itself, and so we
-# enable it based on USE_LIBTOOL for the majority of packages, and support
-# USE_GCC_RUNTIME for packages which create shared libraries but do not use
-# libtool to do so.
-#
-.if (${OPSYS} == "Darwin" || ${OPSYS} == "SunOS") && \
-    (defined(USE_LIBTOOL) || defined(USE_GCC_RUNTIME))
-_USE_GCC_SHLIB= yes
-.endif
-
-.if !empty(USE_NATIVE_GCC:M[yY][eE][sS]) && !empty(_IS_BUILTIN_GCC:M[yY][eE][sS])
-_USE_PKGSRC_GCC=	no
-.elif !empty(USE_PKGSRC_GCC:M[yY][eE][sS])
-# For environments where there is an external gcc too, but pkgsrc
-# should use the pkgsrc one for consistency.
-_USE_PKGSRC_GCC=	yes
-.endif
-
-.if defined(_IGNORE_GCC)
-_USE_PKGSRC_GCC=	NO
-.endif
-
-.if !defined(_USE_PKGSRC_GCC)
-_USE_PKGSRC_GCC=	YES
-.  if !empty(_IS_BUILTIN_GCC:M[yY][eE][sS])
-_GCC_TEST_DEPENDS=	gcc>=${_GCC_REQD}
-_USE_PKGSRC_GCC!=	\
-	if ${PKG_ADMIN} pmatch '${_GCC_TEST_DEPENDS}' ${_GCC_PKG} 2>/dev/null; then \
-		${ECHO} "NO";						\
-	else								\
-		${ECHO} "YES";						\
-	fi
-.  endif
-.endif
-
-# Check if any of the versions of GCC in pkgsrc can satisfy the _GCC_REQD
-# requirement.
-#
-.if !defined(_NEED_NEWER_GCC)
-_PKGSRC_GCC_VERSION=	${_GCC_PKGBASE}-${_GCC_DIST_VERSION}
-_NEED_NEWER_GCC!=	\
-	if ${PKG_ADMIN} pmatch '${_GCC_DEPENDS}' ${_PKGSRC_GCC_VERSION} 2>/dev/null; then \
-		${ECHO} "NO";						\
-	else								\
-		${ECHO} "YES";						\
-	fi
-#MAKEFLAGS+=	_NEED_NEWER_GCC=${_NEED_NEWER_GCC}
-.endif
-.if !empty(_USE_PKGSRC_GCC:M[yY][eE][sS]) && \
-    !empty(_NEED_NEWER_GCC:M[yY][eE][sS])
-PKG_FAIL_REASON+=	"Unable to satisfy dependency: ${_GCC_DEPENDS}"
-.endif
-
-.if !empty(_USE_PKGSRC_GCC:M[yY][eE][sS])
-#
-# Ensure that the correct rpath is passed to the linker if we need to
-# link against gcc shared libs.
-#
-# XXX cross-compilation -- is this TOOLBASE or LOCALBASE?
-#
-_GCC_SUBPREFIX!=	\
-	if ${PKG_INFO} -qe ${_GCC_PKGBASE}; then			\
-		${PKG_INFO} -f ${_GCC_PKGBASE} |			\
-		${GREP} "File:.*bin/gcc" |				\
-		${GREP} -v "/gcc[0-9][0-9]*-.*" |			\
-		${SED} -e "s/.*File: *//;s/bin\/gcc.*//;q";		\
-	else								\
-		case ${_CC} in						\
-		${LOCALBASE}/*)						\
-			subprefix="${_CC:H:S/\/bin$//:S/${LOCALBASE}\///:S/${LOCALBASE}//}"; \
-			case "$${subprefix}" in				\
-			"")	${ECHO} "$${subprefix}" ;;		\
-			*)	${ECHO} "$${subprefix}/" ;;		\
-			esac;						\
-			;;						\
-		*)							\
-			${ECHO} "_GCC_SUBPREFIX_not_found/";		\
-			;;						\
-		esac;							\
-	fi
-_GCC_PREFIX=		${LOCALBASE}/${_GCC_SUBPREFIX}
-_GCC_ARCHDIR!=		\
-	if [ -x ${_GCC_PREFIX}bin/gcc ]; then				\
-		${DIRNAME} `${_GCC_PREFIX}bin/gcc -print-libgcc-file-name 2>/dev/null`; \
-	else								\
-		${ECHO} "_GCC_ARCHDIR_not_found";			\
-	fi
-_GCC_LIBDIRS=	${_GCC_ARCHDIR}
-.  if empty(USE_PKGSRC_GCC_RUNTIME:M[Yy][Ee][Ss])
-_GCC_LIBDIRS+=	${_GCC_PREFIX}lib${LIBABISUFFIX}
-.  endif
-_GCC_LDFLAGS=	# empty
-.  for _dir_ in ${_GCC_LIBDIRS:N*not_found*}
-_GCC_LDFLAGS+=	-L${_dir_} ${COMPILER_RPATH_FLAG}${_dir_}
-.  endfor
-.endif
-
-LDFLAGS+=	${_GCC_LDFLAGS}
-
-# Point the variables that specify the compiler to the installed
-# GCC executables.
-#
-_GCC_DIR=	${WRKDIR}/.gcc
-_GCC_VARS=	# empty
-
-.if !empty(_USE_PKGSRC_GCC:M[yY][eE][sS])
-_GCCBINDIR=	${_GCC_PREFIX}bin
-.elif !empty(_IS_BUILTIN_GCC:M[yY][eE][sS])
-_GCCBINDIR=	${_CC:H}
-.endif
-.if !empty(TOOLS_USE_CROSS_COMPILE:M[yY][eE][sS])
-_GCC_BIN_PREFIX=	${MACHINE_GNU_PLATFORM}-
-.endif
-_GCC_BIN_PREFIX?=	# empty
-GCC_VERSION_SUFFIX?=	# empty
-.if exists(${_GCCBINDIR}/${_GCC_BIN_PREFIX}gcc${GCC_VERSION_SUFFIX})
-_GCC_VARS+=	CC
-_GCC_CC=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}gcc${GCC_VERSION_SUFFIX}
-_ALIASES.CC=	cc gcc
-CCPATH=		${_GCCBINDIR}/${_GCC_BIN_PREFIX}gcc${GCC_VERSION_SUFFIX}
-PKG_CC:=	${_GCC_CC}
-.endif
-.if exists(${_GCCBINDIR}/${_GCC_BIN_PREFIX}cpp${GCC_VERSION_SUFFIX})
-_GCC_VARS+=	CPP
-_GCC_CPP=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}cpp${GCC_VERSION_SUFFIX}
-_ALIASES.CPP=	cpp
-CPPPATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}cpp${GCC_VERSION_SUFFIX}
-PKG_CPP:=	${_GCC_CPP}
-.endif
-.if exists(${_GCCBINDIR}/${_GCC_BIN_PREFIX}g++${GCC_VERSION_SUFFIX})
-_GCC_VARS+=	CXX
-_GCC_CXX=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}g++${GCC_VERSION_SUFFIX}
-_ALIASES.CXX=	c++ g++
-CXXPATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}g++${GCC_VERSION_SUFFIX}
-PKG_CXX:=	${_GCC_CXX}
-.endif
-.if exists(${_GCCBINDIR}/${_GCC_BIN_PREFIX}g77${GCC_VERSION_SUFFIX})
-_GCC_VARS+=	FC
-_GCC_FC=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}g77${GCC_VERSION_SUFFIX}
-_ALIASES.FC=	f77 g77
-FC=		g77
-FCPATH=		${_GCCBINDIR}/${_GCC_BIN_PREFIX}g77${GCC_VERSION_SUFFIX}
-F77PATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}g77${GCC_VERSION_SUFFIX}
-PKG_FC:=	${_GCC_FC}
-PKGSRC_FORTRAN?=	g77
-.endif
-.if exists(${_GCCBINDIR}/${_GCC_BIN_PREFIX}gfortran${GCC_VERSION_SUFFIX})
-_GCC_VARS+=	FC
-_GCC_FC=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}gfortran${GCC_VERSION_SUFFIX}
-_ALIASES.FC=	gfortran
-FC=		gfortran
-FCPATH=		${_GCCBINDIR}/${_GCC_BIN_PREFIX}gfortran${GCC_VERSION_SUFFIX}
-F77PATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}gfortran${GCC_VERSION_SUFFIX}
-PKG_FC:=	${_GCC_FC}
-PKGSRC_FORTRAN?=	gfortran
-.endif
-#GNAT doesn't provide 'ada' but always provides 'gnatls' - inspired by gprbuild
-.if exists(${_GCCBINDIR}/${_GCC_BIN_PREFIX}gnatls)
-_GCC_VARS+=	ADA GMK GLK GBD CHP PRP GLS GNT
-_GCC_ADA=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}ada
-_GCC_GMK=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}gnatmake
-_GCC_GLK=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}gnatlink
-_GCC_GBD=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}gnatbind
-_GCC_CHP=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}gnatchop
-_GCC_PRP=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}gnatprep
-_GCC_GLS=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}gnatls
-_GCC_GNT=	${_GCC_DIR}/bin/${_GCC_BIN_PREFIX}gnat
-_ALIASES.ADA=	ada
-_ALIASES.GMK=	gnatmake
-_ALIASES.GLK=	gnatlink
-_ALIASES.GBD=	gnatbind
-_ALIASES.CHP=	gnatchop
-_ALIASES.PRP=	gnatprep
-_ALIASES.GLS=	gnatls
-_ALIASES.GNT=	gnat
-ADAPATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}ada
-GMKPATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}gnatmake
-GLKPATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}gnatlink
-GBDPATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}gnatbind
-CHPPATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}gnatchop
-PRPPATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}gnatprep
-GLSPATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}gnatls
-GNTPATH=	${_GCCBINDIR}/${_GCC_BIN_PREFIX}gnat
-#PKG_ADA:=	${_GCC_ADA}
-PKG_GMK:=	${_GCC_GMK}
-PKG_GLK:=	${_GCC_GLK}
-PKG_GBD:=	${_GCC_GBD}
-PKG_CHP:=	${_GCC_CHP}
-PKG_PRP:=	${_GCC_PRP}
-PKG_GLS:=	${_GCC_GLS}
-PKG_GNT:=	${_GCC_GNT}
-PKGSRC_ADA?=	ada
-PKGSRC_GMK?=	gnatmake
-PKGSRC_GLK?=	gnatlink
-PKGSRC_GBD?=	gnatbind
-PKGSRC_CHP?=	gnatchop
-PKGSRC_PRP?=	gnatprep
-PKGSRC_GLS?=	gnatls
-PKGSRC_GNT?=	gnat
-# This is really useful var for gnatmake
-GNATMAKE=	${_GCC_GMK}
-.endif
-_COMPILER_STRIP_VARS+=	${_GCC_VARS}
-
-# Pass the required flags to imake to tell it we're using gcc on Solaris.
-.if ${OPSYS} == "SunOS"
-IMAKEOPTS+=	-DHasGcc2=YES -DHasGcc2ForCplusplus=YES
-.endif
-
-.if ${OPSYS} == "AIX"
-# On AIX the GCC toolchain recognizes -maix32 and -maix64,
-# -m32 or -m64 are not recognized.
-_COMPILER_ABI_FLAG.32=	-maix32
-_COMPILER_ABI_FLAG.64=	-maix64
-# On HP-UX the GCC toolchain must be specifically targeted to an ABI,
-# -m32 or -m64 are not recognized.
-.elif ${OPSYS} == "HPUX"
-_COMPILER_ABI_FLAG.32=	# empty
-_COMPILER_ABI_FLAG.64=	# empty
-.elif !empty(MACHINE_ARCH:Mmips*)
-_COMPILER_ABI_FLAG.32=	-mabi=n32	# ABI == "32" == "n32"
-_COMPILER_ABI_FLAG.n32=	-mabi=n32
-_COMPILER_ABI_FLAG.o32=	-mabi=32
-_COMPILER_ABI_FLAG.64=	-mabi=64
-.elif !empty(MACHINE_ARCH:Maarch64*)
-_COMPILER_ABI_FLAG.32=	-m32
-_COMPILER_ABI_FLAG.64=	# empty
-.else
-_COMPILER_ABI_FLAG.32=	-m32
-_COMPILER_ABI_FLAG.64=	-m64
-.endif
-
-.if !empty(_USE_PKGSRC_GCC:M[yY][eE][sS])
-.  if exists(${CCPATH})
-CC_VERSION_STRING!=	${CCPATH} -v 2>&1
-CC_VERSION!=		\
-	if ${CCPATH} -dumpversion > /dev/null 2>&1; then		\
-		${ECHO} "gcc-`${CCPATH} -dumpversion`";			\
-	else								\
-		${ECHO} "gcc-${_GCC_REQD}";				\
-	fi
-
-.  else
-CC_VERSION_STRING=	${CC_VERSION}
-CC_VERSION=		gcc-${_GCC_REQD}
-.  endif
-.else
-CC_VERSION_STRING=	${CC_VERSION}
-CC_VERSION=		${_GCC_PKG}
-.endif
-
-# Prepend the path to the compiler to the PATH.
-.if !empty(_LANGUAGES.gcc)
-PREPEND_PATH+=	${_GCC_DIR}/bin
-.endif
-
-# Add the dependency on GCC.
-.if !empty(_USE_PKGSRC_GCC:M[yY][eE][sS])
-.  for _dir_ in ${_GCC_PKGSRCDIR}
-.    include "${_dir_}/buildlink3.mk"
-.  endfor
-.endif
-
-# Add dependency on GCC libraries if requested.
-.if (defined(_USE_GCC_SHLIB) && !empty(_USE_GCC_SHLIB:M[Yy][Ee][Ss])) && !empty(USE_PKGSRC_GCC_RUNTIME:M[Yy][Ee][Ss])
-#  Special case packages which are themselves a dependency of gcc runtime.
-.  if ${PKGPATH} != devel/libtool-base && ${PKGPATH} != devel/binutils && \
-      empty(PKGPATH:Mlang/gcc4?) && empty(PKGPATH:Mlang/gcc[5-9]) && \
-      empty(PKGPATH:Mlang/gcc10) && empty(PKGPATH:Mlang/gcc12) && \
-      empty(PKGPATH:Mlang/gcc13) && empty(PKGPATH:Mlang/gcc14)
-.    if !empty(_GCC_PKGBASE:Mgcc6)
-.      include "../../lang/gcc6-libs/buildlink3.mk"
-.    elif !empty(_GCC_PKGBASE:Mgcc7)
-.      include "../../lang/gcc7-libs/buildlink3.mk"
-.    elif !empty(_GCC_PKGBASE:Mgcc8)
-.      include "../../lang/gcc8-libs/buildlink3.mk"
-.    elif !empty(_GCC_PKGBASE:Mgcc9)
-.      include "../../lang/gcc9-libs/buildlink3.mk"
-.    elif !empty(_GCC_PKGBASE:Mgcc10)
-.      include "../../lang/gcc10-libs/buildlink3.mk"
-.    elif !empty(_GCC_PKGBASE:Mgcc12)
-.      include "../../lang/gcc12-libs/buildlink3.mk"
-.    elif !empty(_GCC_PKGBASE:Mgcc13)
-.      include "../../lang/gcc13-libs/buildlink3.mk"
-.    elif !empty(_GCC_PKGBASE:Mgcc14)
-.      include "../../lang/gcc14-libs/buildlink3.mk"
-.    else
-PKG_FAIL_REASON+=	"No USE_PKGSRC_GCC_RUNTIME support for ${CC_VERSION}"
-.    endif
-.  endif
-.endif
-
-.for _var_ in ${_GCC_VARS}
-.  if !target(${_GCC_${_var_}})
-override-tools: ${_GCC_${_var_}}
-${_GCC_${_var_}}:
-	${RUN}${MKDIR} ${.TARGET:H}
-.    if !empty(COMPILER_USE_SYMLINKS:M[Yy][Ee][Ss])
-	${RUN}${RM} -f ${.TARGET}
-	${RUN}${LN} -s ${_GCCBINDIR}/${.TARGET:T} ${.TARGET}
-.    else
-	${RUN}					\
-	(${ECHO} '#!${TOOLS_SHELL}';					\
-	 ${ECHO} 'exec ${_GCCBINDIR}/${.TARGET:T} "$$@"';		\
-	) > ${.TARGET}
-	${RUN}${CHMOD} +x ${.TARGET}
-.    endif
-.    for _alias_ in ${_ALIASES.${_var_}:S/^/${.TARGET:H}\//}
-	${RUN}					\
-	if [ ! -x "${_alias_}" ]; then					\
-		${LN} -f -s ${.TARGET:T} ${_alias_};			\
-	fi
-.    endfor
-.  endif
-.endfor
-
-# On systems without a Fortran compiler, pull one in if needed.
-PKGSRC_FORTRAN?=gfortran
-
-_GCC_NEEDS_A_FORTRAN=	no
-.if empty(_USE_PKGSRC_GCC:M[yY][eE][sS]) && !(defined(FCPATH) && exists(${FCPATH}))
-_GCC_NEEDS_A_FORTRAN=	yes
-.else
-.  for _pattern_ in 0.* 1.[0-4] 1.[0-4].*
-.    if !empty(MACHINE_PLATFORM:MNetBSD-${_pattern_}-*)
-_GCC_NEEDS_A_FORTRAN=	yes
-.    endif
-.  endfor
-.endif
-.if !empty(_GCC_NEEDS_A_FORTRAN:M[yY][eE][sS])
-.  include "../../mk/compiler/${PKGSRC_FORTRAN}.mk"
-.endif
-
-.if ${OPSYS} == "Interix" && !empty(_GCCBINDIR:M/opt/gcc.*)
-COMPILER_INCLUDE_DIRS=	${_GCCBINDIR:H}/include ${_OPSYS_INCLUDE_DIRS}
-COMPILER_LIB_DIRS=	${_GCCBINDIR:H}/lib ${_OPSYS_LIB_DIRS}
-.endif
-
-#.READONLY: GCC_REQD
-_GCC_REQD_EFFECTIVE:=	${GCC_REQD}
-
-.endif	# COMPILER_GCC_MK
diff --git a/gcc14-gnat/options.mk b/gcc14-gnat/options.mk
index 0e10a18d2b..f735357e71 100644
--- a/gcc14-gnat/options.mk
+++ b/gcc14-gnat/options.mk
@@ -48,11 +48,12 @@ PKG_SUGGESTED_OPTIONS+=	gcc-multilib
 CONFIGURE_ARGS+=	--enable-nls
 CONFIGURE_ARGS+=	--with-libiconv-prefix=${BUILDLINK_PREFIX.iconv}
 MAKE_ENV+=		ICONVPREFIX=${BUILDLINK_PREFIX.iconv}
-PREFER.iconv=		pkgsrc
+#PREFER.iconv=		pkgsrc
 .include "../../converters/libiconv/buildlink3.mk"
-PREFER.gettext=		pkgsrc
+#PREFER.gettext=		pkgsrc
 .include "../../devel/gettext-lib/buildlink3.mk"
-PLIST.nls=	yes
+#PLIST_VARS+=	nls
+#PLIST.nls=	yes
 .include "../../devel/gettext-tools/msgfmt-desktop.mk"
 .else
 CONFIGURE_ARGS+=	--disable-nls
diff --git a/gcc14-gnat/patches/patch-gcc_configure b/gcc14-gnat/patches/patch-gcc_configure
index 47a20b1aa4..9b21811dc5 100644
--- a/gcc14-gnat/patches/patch-gcc_configure
+++ b/gcc14-gnat/patches/patch-gcc_configure
@@ -3,9 +3,9 @@ $NetBSD: patch-gcc_configure,v 1.1 2025/02/09 20:00:00 dkazankov Exp $
 Support Darwin/aarch64, from https://github.com/Homebrew/formula-patches.
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90143
 
---- gcc/configure.orig	2024-05-07 09:52:51.000000000 +0300
+--- gcc/configure.orig	2024-08-01 08:18:42.000000000 +0000
 +++ gcc/configure
-@@ -740,6 +740,8 @@ ORIGINAL_NM_FOR_TARGET
+@@ -740,6 +740,8 @@
  gcc_cv_nm
  ORIGINAL_LD_GOLD_FOR_TARGET
  ORIGINAL_LD_BFD_FOR_TARGET
@@ -14,8 +14,8 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90143
  ORIGINAL_LD_FOR_TARGET
  ORIGINAL_PLUGIN_LD_FOR_TARGET
  gcc_cv_ld
-@@ -3803,20 +3805,19 @@ gcc_gxx_libcxx_include_dir=
-
+@@ -3803,20 +3805,19 @@
+ 
  # Check whether --with-gxx-libcxx-include-dir was given.
  if test "${with_gxx_libcxx_include_dir+set}" = set; then :
 -  withval=$with_gxx_libcxx_include_dir; case "${withval}" in
@@ -24,8 +24,8 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90143
 -esac
 +  withval=$with_gxx_libcxx_include_dir; gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir
  fi
-
-
+ 
+ 
  # --with-gxx-libcxx-include-dir controls the enabling of the -stdlib option.
  # if --with-gxx-libcxx-include-dir is 'no' we disable the stdlib option.
 +# if --with-gxx-libcxx-include-dir is 'yes' we enable the stdlib option and use
@@ -41,7 +41,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90143
  # If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we
  # check to see if the latter starts with the former and, upon success, compute
  # gcc_gxx_libcxx_include_dir as relative to the sysroot.
-@@ -3824,16 +3825,20 @@ gcc_gxx_libcxx_include_dir_add_sysroot=0
+@@ -3824,16 +3825,20 @@
  gcc_enable_stdlib_opt=0
  if test x${gcc_gxx_libcxx_include_dir} != x; then
    if test x${gcc_gxx_libcxx_include_dir} = xno; then
@@ -65,27 +65,27 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90143
         # self-contained toolchain.
         gcc_enable_stdlib_opt=1
         ;;
-@@ -21575,7 +21580,7 @@ else
+@@ -21575,7 +21580,7 @@
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
 -#line 21578 "configure"
 +#line 21583 "configure"
  #include "confdefs.h"
-
+ 
  #if HAVE_DLFCN_H
-@@ -21681,7 +21686,7 @@ else
+@@ -21681,7 +21686,7 @@
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
 -#line 21684 "configure"
 +#line 21689 "configure"
  #include "confdefs.h"
-
+ 
  #if HAVE_DLFCN_H
-@@ -25306,6 +25311,14 @@ fi
+@@ -25306,6 +25311,14 @@
  $as_echo "$gold_non_default" >&6; }
-
+ 
  ORIGINAL_LD_FOR_TARGET=$gcc_cv_ld
 +if test x"$ld64_flag" = x"yes"; then
 +ORIGINAL_LLD_FOR_TARGET=${gcc_cv_ld}64.lld
@@ -95,10 +95,10 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90143
 +ORIGINAL_CLASSIC_LD_FOR_TARGET=$gcc_cv_ld-classic
 +
 +
-
+ 
  case "$ORIGINAL_LD_FOR_TARGET" in
    ./collect-ld | ./collect-ld$build_exeext) ;;
-@@ -33640,7 +33640,7 @@
+@@ -33642,7 +33655,7 @@
        gcc_cv_target_dl_iterate_phdr=no
      fi
      ;;


Home | Main Index | Thread Index | Old Index