Removing default build of gcc

Warner Losh imp at bsdimp.com
Fri Jan 25 22:37:26 UTC 2013


On Jan 25, 2013, at 3:18 PM, Andriy Gapon wrote:

> on 25/01/2013 21:35 Warner Losh said the following:
>> This has been talked about in a vague way for years.
> 
> Warner,
> 
> just a nitpick, couldn't resist - sorry, so for years we talked about the magic
> 10.x release to become GPL-free?
> Or was it just a goal for 'some day'?

In the talks that we've had at different venues, 10.x has been a short hand for someday. At first it was clear that it was too ambitious to be in 9.0, then later it was a nice goal to have for 10.x, but it isn't a show-stopper for shipping 10.0 if there's still GPL'd code in the tree. Remove as much as possible, as fast as possible, but with the big caveat of without removing features that mattered. clang is nice and all, but it isn't yet a complete replacement for the tier 2/3 platforms for gcc. It is unrealistic to expect that we'll have something that's functional on those platforms in the 10.0 time frame, unless that timeframe is very far in the future.

Again, it is the difference between a goal (which we can fail to achieve fully) and a requirement (which gates the release) that's the important distinction here. Core has never set GPL-free as a requirement for 10.x. They haven't even stated, as far as I can recall, that it is a desired goal for the project. The goal has been driven by many stakeholders that can't use GPL today, as well as a recognition that GPL-free is a big selling point in some markets. The more we can do this, in general, the better. However, the drive must also be tempered by the need to keep current things working and not break them needlessly.

Which, btw, is the whole reason full external toolchain support is necessary. With that, we can kill three birds with one stone. (1) we can allow users to use the vendor optimized versions of the gcc toolchain, if they want. (2) non-tier 1 platforms could use it to build with known good gcc/binutils versions that may live in ports. ia64 is often mentioned here. (3) We provide a fallback for people that want to use gcc on tier-1 platforms, but newer versions. We've only kinda sorted solved these problems in a kludgy, error-prone tedious manner today, and much work remains to bring the support up to the quality users expect and need from the project.

Warner



More information about the freebsd-toolchain mailing list