Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Sep 2012 17:35:06 -0500
From:      Chuck Burns <break19@gmail.com>
To:        Brooks Davis <brooks@freebsd.org>
Cc:        Daniel Eischen <deischen@freebsd.org>, toolchain@freebsd.org
Subject:   Re: Clang as default compiler November 4th
Message-ID:  <CAE2yjrrUOKKfMCRuWgemJEuLOQtr1=68cMHkNRxP16QDzCnpXw@mail.gmail.com>
In-Reply-To: <20120910220119.GE64920@lor.one-eyed-alien.net>
References:  <20120910211207.GC64920@lor.one-eyed-alien.net> <Pine.GSO.4.64.1209101718570.16426@sea.ntplx.net> <20120910220119.GE64920@lor.one-eyed-alien.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 10, 2012 at 5:01 PM, Brooks Davis <brooks@freebsd.org> wrote:
> On Mon, Sep 10, 2012 at 05:22:37PM -0400, Daniel Eischen wrote:
>> On Mon, 10 Sep 2012, Brooks Davis wrote:
>>
>> > [Please confine your replies to toolchain@freebsd.org to keep the thread
>> > on the most relevant list.]
>> >
>> > For the past several years we've been working towards migrating from
>> > GCC to Clang/LLVM as our default compiler.  We intend to ship FreeBSD
>> > 10.0 with Clang as the default compiler on i386 and amd64 platforms.  To
>> > this end, we will make WITH_CLANG_IS_CC the default on i386 and amd64
>> > platforms on November 4th.
>> >
>> > What does the mean to you?
>> >
>> > * When you build world after the default is changed /usr/bin/cc, cpp, and
>> >   c++ will be links to clang.
>> >
>> > * This means the initial phase of buildworld and "old style" kernel
>> >   compilation will use clang instead of gcc.  This is known to work.
>> >
>> > * It also means that ports will build with clang by default.  A major
>> >   of ports work, but a significant number are broken or blocked by
>> >   broken ports. For more information see:
>> >     http://wiki.freebsd.org/PortsAndClang
>> >
>> > What issues remain?
>> >
>> > * The gcc->clang transition currently requires setting CC, CXX, and CPP
>> >   in addition to WITH_CLANG_IS_CC.  I will post a patch to toolchain@
>> >   to address this shortly.
>>
>> I assume this will be done, tested and committed before 2012-11-04
>> (or whenever the switchover date is).
>
> Pending review it will be done this week.
>
>> > * Ports compiler selection infrastructure is still under development.
>>
>> This should be a prerequisite before making the switch, given
>> that ports will be broken without a work-around for building
>> them with gcc.
>
> We've defacto done that for more than a year.  Some progress has
> resulted, but not enough.  I will be helping fix ports and I hope others
> do as well.  It's worth noting that a switchable compiler isn't a magic
> bullet.  Many ports will need to be patched to support a compiler other
> than /usr/bin/cc or /usr/bin/gcc.
>
> -- Brooks

This is actually a pretty good thing.  Because -before- it's the
default compiler, some ports maintainers (and even more upstreams)
have the attitude of "My port works fine" until it no longer does..
bringing this change will make a few of these people realize that we
are -serious- about switching to clang.

For those worrying about "zomg, my system wont work?!" Remember..
This is a -current thing. If you're running bleeding edge, you have to
expect to get cut every now and then.
-- 
Chuck Burns <break19@gmail.com>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAE2yjrrUOKKfMCRuWgemJEuLOQtr1=68cMHkNRxP16QDzCnpXw>