summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authormarkm <markm@FreeBSD.org>2013-09-07 07:58:29 +0000
committermarkm <markm@FreeBSD.org>2013-09-07 07:58:29 +0000
commitb41e1125b0d80cc6d7243ca4cb413371daa39c4e (patch)
tree105a603684bdadf523dd0602d74ac9bd3c413033 /share
parentd3a8919edc9a8e3635968a76db07078a44c2ead2 (diff)
parent24e0bcea209256960f8d7476c2e6fb93569913c4 (diff)
downloadFreeBSD-src-b41e1125b0d80cc6d7243ca4cb413371daa39c4e.zip
FreeBSD-src-b41e1125b0d80cc6d7243ca4cb413371daa39c4e.tar.gz
MFC
Diffstat (limited to 'share')
-rw-r--r--share/man/man5/src.conf.533
-rw-r--r--share/mk/bsd.own.mk31
2 files changed, 56 insertions, 8 deletions
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index 4e89864..3623b0e 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -1,7 +1,7 @@
.\" DO NOT EDIT-- this file is automatically generated.
.\" from FreeBSD: head/tools/build/options/makeman 253304 2013-07-12 23:08:44Z bapt
.\" $FreeBSD$
-.Dd August 29, 2013
+.Dd September 6, 2013
.Dt SRC.CONF 5
.Os
.Sh NAME
@@ -471,12 +471,17 @@ Set to not build
.\" from FreeBSD: head/tools/build/options/WITHOUT_GAMES 156932 2006-03-21 07:50:50Z ru
Set to not build games.
.It Va WITHOUT_GCC
-.\" from FreeBSD: head/tools/build/options/WITHOUT_GCC 222090 2011-05-19 05:13:25Z imp
-Set to not install gcc and g++.
-.Bf -symbolic
-The option does not generally work for build targets, unless some alternative
-toolchain is enabled.
-.Ef
+.\" from FreeBSD: head/tools/build/options/WITHOUT_GCC 255326 2013-09-06 20:49:48Z zeising
+Set to not build and install gcc and g++.
+.Pp
+It is a default setting on
+amd64/amd64, arm/arm, arm/armv6 and i386/i386.
+.It Va WITH_GCC
+.\" from FreeBSD: head/tools/build/options/WITH_GCC 255326 2013-09-06 20:49:48Z zeising
+Set to build and install gcc and g++.
+.Pp
+It is a default setting on
+arm/armeb, arm/armv6eb, ia64/ia64, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64.
.It Va WITHOUT_GCOV
.\" from FreeBSD: head/tools/build/options/WITHOUT_GCOV 156932 2006-03-21 07:50:50Z ru
Set to not build the
@@ -500,6 +505,20 @@ When set, it also enforces the following options:
.It
.Va WITHOUT_GNU_SUPPORT
.El
+.It Va WITHOUT_GNUCXX
+.\" from FreeBSD: head/tools/build/options/WITHOUT_GNUCXX 255321 2013-09-06 20:08:03Z theraven
+Do not build the GNU C++ stack (g++, libstdc++).
+This is the default on platforms where clang is the system compiler.
+.Pp
+It is a default setting on
+amd64/amd64, arm/arm, arm/armv6, i386/i386 and pc98/i386.
+.It Va WITH_GNUCXX
+.\" from FreeBSD: head/tools/build/options/WITH_GNUCXX 255321 2013-09-06 20:08:03Z theraven
+Build the GNU C++ stack (g++, libstdc++).
+This is the default on platforms where gcc is the system compiler.
+.Pp
+It is a default setting on
+arm/armeb, arm/armv6eb, ia64/ia64, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64.
.It Va WITHOUT_GNU_SUPPORT
.\" from FreeBSD: head/tools/build/options/WITHOUT_GNU_SUPPORT 156932 2006-03-21 07:50:50Z ru
Set to build some programs without optional GNU support.
diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
index da758d5..39cf72e 100644
--- a/share/mk/bsd.own.mk
+++ b/share/mk/bsd.own.mk
@@ -284,7 +284,6 @@ __DEFAULT_YES_OPTIONS = \
FP_LIBC \
FREEBSD_UPDATE \
GAMES \
- GCC \
GCOV \
GDB \
GNU \
@@ -400,6 +399,11 @@ __T=${TARGET_ARCH}
.else
__T=${MACHINE_ARCH}
.endif
+.if defined(TARGET)
+__TT=${TARGET}
+.else
+__TT=${MACHINE}
+.endif
# Clang is only for x86, powerpc and little-endian arm right now, by default.
.if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*}
__DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL
@@ -414,8 +418,33 @@ __DEFAULT_NO_OPTIONS+=CLANG CLANG_FULL
.if ${__T} == "amd64" || ${__T} == "arm" || ${__T} == "armv6" || \
${__T} == "i386"
__DEFAULT_YES_OPTIONS+=CLANG_IS_CC
+# The pc98 bootloader requires gcc to build and so we must leave gcc enabled
+# for pc98 for now.
+.if ${__TT} == "pc98"
+__DEFAULT_NO_OPTIONS+=GNUCXX
+__DEFAULT_YES_OPTIONS+=GCC
.else
+__DEFAULT_NO_OPTIONS+=GCC GNUCXX
+.endif
+# The libc++ headers use c++11 extensions. These are normally silenced because
+# they are treated as system headers, but we explicitly disable that warning
+# suppression when building the base system to catch bugs in our headers.
+# Eventually we'll want to start building the base system C++ code as C++11,
+# but not yet.
+_COMPVERSION!= ${CC} --version
+.if ${_COMPVERSION:Mclang}
+CXXFLAGS+= -Wno-c++11-extensions
+.endif
+.else
+# If clang is not cc, then build gcc by default
__DEFAULT_NO_OPTIONS+=CLANG_IS_CC
+__DEFAULT_YES_OPTIONS+=GCC
+# And if g++ is c++, build the rest of the GNU C++ stack
+.if defined(WITHOUT_CXX)
+__DEFAULT_NO_OPTIONS+=GNUCXX
+.else
+__DEFAULT_YES_OPTIONS+=GNUCXX
+.endif
.endif
# FDT is needed only for arm, mips and powerpc
.if ${__T:Marm*} || ${__T:Mpowerpc*} || ${__T:Mmips*}
OpenPOWER on IntegriCloud