summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorbrooks <brooks@FreeBSD.org>2012-09-26 17:25:15 +0000
committerbrooks <brooks@FreeBSD.org>2012-09-26 17:25:15 +0000
commit959c42a8aeb21e45aef65b39c1c89f2053e3af09 (patch)
treefb8bdc6956029b0b68b4b23009e8d58d9cf708e1 /share
parentdd969745bce0790e98523ca33358745fd698ee11 (diff)
downloadFreeBSD-src-959c42a8aeb21e45aef65b39c1c89f2053e3af09.zip
FreeBSD-src-959c42a8aeb21e45aef65b39c1c89f2053e3af09.tar.gz
Add a COMPILER_FEATURES variable that is set in bsd.compiler.mk.
When the compiler is clang add c++11 to COMPILER_FEATURES. When the compiler supports c++11, default to building libc++. This will not impact the compliation of programs, but will make it easier for users with clang compiled systems to test libc++ by passing -stdlib=libc++ to their c++ compliations.
Diffstat (limited to 'share')
-rw-r--r--share/mk/bsd.compiler.mk6
-rw-r--r--share/mk/bsd.own.mk28
2 files changed, 33 insertions, 1 deletions
diff --git a/share/mk/bsd.compiler.mk b/share/mk/bsd.compiler.mk
index cca3968..02d152e 100644
--- a/share/mk/bsd.compiler.mk
+++ b/share/mk/bsd.compiler.mk
@@ -19,3 +19,9 @@ COMPILER_TYPE:= clang
. undef _COMPILER_VERSION
. endif
.endif
+
+.if ${COMPILER_TYPE} == "clang"
+COMPILER_FEATURES= c++11
+.else
+COMPILER_FEATURES=
+.endif
diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
index 1697335..c7e57f6 100644
--- a/share/mk/bsd.own.mk
+++ b/share/mk/bsd.own.mk
@@ -432,7 +432,6 @@ __DEFAULT_NO_OPTIONS = \
ICONV \
IDEA \
INSTALL_AS_USER \
- LIBCPLUSPLUS \
NAND \
OFED \
SHARED_TOOLCHAIN
@@ -642,6 +641,33 @@ MK_${vv:H}:= ${MK_${vv:T}}
.endif
.endfor
+#
+# MK_* options that default to "yes" if the compiler is a C++11 compiler.
+#
+.include <bsd.compiler.mk>
+.for var in \
+ LIBCPLUSPLUS
+.if defined(WITH_${var}) && defined(WITHOUT_${var})
+.error WITH_${var} and WITHOUT_${var} can't both be set.
+.endif
+.if defined(MK_${var})
+.error MK_${var} can't be set by a user.
+.endif
+.if ${COMPILER_FEATURES:Mc++11}
+.if defined(WITHOUT_${var})
+MK_${var}:= no
+.else
+MK_${var}:= yes
+.endif
+.else
+.if defined(WITH_${var})
+MK_${var}:= yes
+.else
+MK_${var}:= no
+.endif
+.endif
+.endfor
+
.if ${MK_CTF} != "no"
CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
.elif defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300
OpenPOWER on IntegriCloud