Re: Clang as default compiler November 4th

From: Brooks Davis <brooks_at_freebsd.org>
Date: Mon, 10 Sep 2012 17:01:19 -0500
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_at_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_at_
> >   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

Received on Mon Sep 10 2012 - 20:01:21 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:30 UTC