Compiling ports in a post-9.0-RELEASE world

Erwin Lansing erwin at
Wed Mar 16 09:19:50 UTC 2011

On Tue, Mar 15, 2011 at 09:20:40PM +0300, Konstantin Tokarev wrote:
> 13.03.2011, 01:00, "Doug Barton" <dougb at>:
> > Howdy,
> >
> > As many of you are no doubt already aware, much work has been undertaken
> > to make clang the default compiler for the src tree starting with
> > 9.0-RELEASE. It is not 100% certain that this change will be made, but
> > it's looking more likely every day.
> >
> > This raises an interesting question for how to deal with compiling ports
> > after 9.0 is released. So far there are 2 main ideas for how to deal
> > with this:
> >
> > 1. Fix all ports to compile with both gcc 4.2 (for RELENG_[78]) and clang.
> > 2. Adopt an official "ports compiler," which would likely be one of the
> > gcc versions from the ports tree itself, and update all ports to work
> > with it.
> 3. Fix Clang to compile more ports
Note that these 3 are not mutually exclusive.  The clang developers have
been very responsive on earlier bugs we found and they are usually fixed
quickly, so I'm sure that if real bugs in clang are found they will be
happy to hear about them.  Fixing ports to work with both gcc and clang
should also be a good target to reach for, but given the amount of ports
this is unrealistic to be finished before 9.0 is released.

There are a few PRs already in GNATS that generalize the compiler
settings for ports that portmgr have been looking into, but more work is
needed.  The idea is to extend the USE_GCC framework to a USE_COMPILER
(or similar) macro that can force a port to use gcc, clang or another
compiler with a default compiler that easily can be flipped.

I've also run a few full builds on the pointyhat cluster with clang as
the default compiler, mostly to check for clang bugs and we'll do more
rounds with the results posted here to get help with fixing individual


Erwin Lansing                         
Prediction is very difficult
especially about the future                    erwin at
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
Url :

More information about the freebsd-ports mailing list