svn commit: r253220 - stable/9/share/mk
Dimitry Andric
dim at FreeBSD.org
Thu Jul 11 20:09:47 UTC 2013
Author: dim
Date: Thu Jul 11 20:09:46 2013
New Revision: 253220
URL: http://svnweb.freebsd.org/changeset/base/253220
Log:
MFC r240966 (by brooks)
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.
Modified:
stable/9/share/mk/bsd.compiler.mk
stable/9/share/mk/bsd.own.mk
Directory Properties:
stable/9/share/ (props changed)
stable/9/share/mk/ (props changed)
Modified: stable/9/share/mk/bsd.compiler.mk
==============================================================================
--- stable/9/share/mk/bsd.compiler.mk Thu Jul 11 19:34:16 2013 (r253219)
+++ stable/9/share/mk/bsd.compiler.mk Thu Jul 11 20:09:46 2013 (r253220)
@@ -19,3 +19,9 @@ COMPILER_TYPE:= clang
. undef _COMPILER_VERSION
. endif
.endif
+
+.if ${COMPILER_TYPE} == "clang"
+COMPILER_FEATURES= c++11
+.else
+COMPILER_FEATURES=
+.endif
Modified: stable/9/share/mk/bsd.own.mk
==============================================================================
--- stable/9/share/mk/bsd.own.mk Thu Jul 11 19:34:16 2013 (r253219)
+++ stable/9/share/mk/bsd.own.mk Thu Jul 11 20:09:46 2013 (r253220)
@@ -447,7 +447,6 @@ __DEFAULT_NO_OPTIONS = \
HESIOD \
ICONV \
IDEA \
- LIBCPLUSPLUS \
NMTREE \
OFED \
OPENSSH_NONE_CIPHER \
@@ -603,10 +602,6 @@ MK_CLANG_FULL:= no
MK_CLANG_IS_CC:= no
.endif
-MK_LIBCPLUSPLUS?= no
-
-MK_LIBCPLUSPLUS?= no
-
#
# Set defaults for the MK_*_SUPPORT variables.
#
@@ -660,6 +655,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(.PARSEDIR) || ${MAKE_VERSION} >= 9201210220
More information about the svn-src-stable-9
mailing list