Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Sep 2012 14:10:28 -0500
From:      Brooks Davis <brooks@freebsd.org>
To:        toolchain@freebsd.org
Subject:   enabling libc++ by default when building with clang
Message-ID:  <20120917191028.GA42648@lor.one-eyed-alien.net>

next in thread | raw e-mail | index | archive | help

--HlL+5n6rz5pIUxbD
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Now that we have the COMPILER_TYPE variable I'm following up on an idea
by theraven@ that we should enable libc++ by default when we are
building world with a compiler that supports it.  The following patch
implements this:

http://people.freebsd.org/~brooks/patches/libc%2b%2b-default.diff

One key question is, when do we want to throw this switch?  Do we do it
now so people using clang start using it sooner or do we wait until
we've switched the default compiler and things have settled a bit?

I suspect that we'll want to wait, but I'm curious what others think.

-- Brooks

Index: share/mk/bsd.own.mk
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- share/mk/bsd.own.mk	(revision 240466)
+++ share/mk/bsd.own.mk	(working copy)
@@ -432,7 +432,6 @@
     ICONV \
     IDEA \
     INSTALL_AS_USER \
-    LIBCPLUSPLUS \
     NAND \
     OFED \
     SHARED_TOOLCHAIN
@@ -642,6 +641,33 @@
 .endif
 .endfor
=20
+#
+# MK_* options that default to on if the compiler is clang.
+#
+.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_TYPE} =3D=3D "clang"
+.if defined(WITHOUT_${var})
+MK_${var}:=3D	no
+.else
+MK_${var}:=3D	yes
+.endif
+.else
+.if defined(WITH_${var})
+MK_${var}:=3D	yes
+.else
+MK_${var}:=3D	no
+.endif
+.endif
+.endfor
+
 .if ${MK_CTF} !=3D "no"
 CTFCONVERT_CMD=3D	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
 .elif defined(MAKE_VERSION) && ${MAKE_VERSION} >=3D 5201111300

--HlL+5n6rz5pIUxbD
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)

iD8DBQFQV3WjXY6L6fI4GtQRApOqAKDMVpYdYwjkX3iYivS73til16fcagCgrVEa
j+wOQvFMBzqdXaoyQdo/0qk=
=H+Ke
-----END PGP SIGNATURE-----

--HlL+5n6rz5pIUxbD--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120917191028.GA42648>