Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Sep 2012 13:36:53 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Brooks Davis <brooks@freebsd.org>
Cc:        toolchain@freebsd.org
Subject:   Re: enabling libc++ by default when building with clang
Message-ID:  <0D8164DE-97A3-4870-A8DF-37E91ECFE87F@bsdimp.com>
In-Reply-To: <20120917191028.GA42648@lor.one-eyed-alien.net>
References:  <20120917191028.GA42648@lor.one-eyed-alien.net>

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

On Sep 17, 2012, at 1:10 PM, Brooks Davis wrote:
> 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.

Is the compiler type set to be the host's build, or the target's?

Warner

> -- Brooks
> 
> Index: share/mk/bsd.own.mk
> ===================================================================
> --- 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
> 
> +#
> +# 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} == "clang"
> +.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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0D8164DE-97A3-4870-A8DF-37E91ECFE87F>