Do not build GCC 4.2.1 by default for any CPU architecture

By default set to NO:

GCC
GCC_BOOTSTRAP
GNUCXX

As described by imp@ on the freebsd-arch mailing list Aug 13, 2019 with
Subject: Gcc 4.2.1 to be removed before FreeBSD 13, a firm timeline
https://lists.freebsd.org/pipermail/freebsd-arch/2019-August/019674.html

Reviewed by:	jhb, imp
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D23026
This commit is contained in:
Ed Maste 2020-01-05 02:47:56 +00:00
parent 5ee986766b
commit 5a0a85974a
2 changed files with 15 additions and 7 deletions

View File

@ -26,6 +26,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
20200104:
GCC 4.2.1 is now not built by default, as part of the GCC 4.2.1
retirement plan. Specifically, the GCC, GCC_BOOTSTRAP, and GNUCXX
options default to off for all supported CPU architectures. As a
short-term transition aid they may be enabled via WITH_* options.
GCC 4.2.1 is expected to be removed from the tree on 2020-03-31.
20200102:
Support for armv5 has been disconnected and is being removed. The
machine combination MACHINE=arm MACHINE_ARCH=arm is no longer valid.

View File

@ -199,6 +199,9 @@ __DEFAULT_NO_OPTIONS = \
CLANG_EXTRAS \
DTRACE_TESTS \
EXPERIMENTAL \
GCC \
GCC_BOOTSTRAP \
GNUCXX \
GNU_GREP_COMPAT \
GPL_DTC \
HESIOD \
@ -297,24 +300,22 @@ __DEFAULT_DEPENDENT_OPTIONS+= LLVM_TARGET_${__llt:${__LLVM_TARGET_FILT}:tu}/LLVM
__DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF
.include <bsd.compiler.mk>
# If the compiler is not C++11 capable, disable Clang and use GCC instead.
# This means that architectures that have GCC 4.2 as default can not
# build Clang without using an external compiler.
# If the compiler is not C++11 capable, disable Clang. External toolchain will
# be required.
.if ${COMPILER_FEATURES:Mc++11} && (${__TT} != "mips" && \
${__TT} != "riscv" && ${__TT} != "sparc64")
# Clang is enabled, and will be installed as the default /usr/bin/cc.
__DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_IS_CC LLD
__DEFAULT_NO_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX
.elif ${COMPILER_FEATURES:Mc++11} && ${__T} != "sparc64"
# If an external compiler that supports C++11 is used as ${CC} and Clang
# supports the target, then Clang is enabled but GCC is installed as the
# supports the target, then Clang is enabled but we still require an external
# toolchain.
# default /usr/bin/cc.
__DEFAULT_YES_OPTIONS+=CLANG GCC GCC_BOOTSTRAP GNUCXX LLD
__DEFAULT_YES_OPTIONS+=CLANG LLD
__DEFAULT_NO_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC
.else
# Everything else disables Clang, and uses GCC instead.
__DEFAULT_YES_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX
__DEFAULT_NO_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_IS_CC LLD
.endif
# In-tree binutils/gcc are older versions without modern architecture support.