FreeBSD Removes GCC From Default Base System 333
An anonymous reader writes "With the LLVM/Clang migration, FreeBSD developers have now disabled building GCC and the GNU C++ standard library (libstdc++) as part of the FreeBSD base system. GCC and libstdc++ have been superseded by LLVM's Clang and libc++, respectively, on primary architectures for FreeBSD 10.0."
You can still flip a few switches to get GCC, but the system compiler will still be clang. Update: 09/11 14:50 GMT by U L : Reader Noryungi noted that the What's Cooking for FreeBSD 10 page is also worth a look, adding "I have to say, this is shaping up to be a very interesting release. Bhyve [the BSD hypervisor], in particular, sounds very promising."
Re:Just one question (Score:5, Informative)
See this link for an explanation:
http://unix.stackexchange.com/questions/49906/why-is-freebsd-deprecating-gcc-in-favor-of-clang-llvm/49970#49970 [stackexchange.com]
In short, mostly it's due to FreeBSD's issues with the GPL, not all of which are purely philosophical (it affects their funding, for one thing). On the other hand, if you don't have a beef with the GPL, it's probably best to stick with GCC, which produces more performant code.
Re:Just one question (Score:3, Informative)
For many reasons.
Clang is faster
Clang produces faster code
Clang's license is BSD (and hence more in line with FreeBSD's philosophy)
Clang has built in static analysis tools
Clang's error messages are easier to understand than gcc's
Clang has better support for C++11 than gcc
Clang's code base is much less convoluted than gcc's, and easier to work on
Clang's code base is more modular, which allows you to easily use separate stages of the compiler in other tools
Probably a bunch of reasons I've forgotten too
The real question is actually, why are so many people stubbornly sticking to gcc when clang has surpassed it in pretty much every way.
Re:Just one question (Score:5, Informative)
Licensing.
GCC in the FreeBSD base is stuck at v4.2.1 as that was the last version licensed under the GPLv2. As this is about 7 years old by GCC standards a newer compiler is a welcomed change and since CLANG is BSD-licensed it is more in line with the project's goals anyway.
Clang is Slower (Score:4, Informative)
For many reasons.
Clang is faster...
No its slower. Phoronix benchmark GCC vs Clang all the time. http://www.phoronix.com/scan.php?page=article&item=llvm_clang33_3way&num=1 [phoronix.com]
Re:More interesting page for FreeBSD 10... (Score:5, Informative)
So, better compression, SSD speed-up and less need to write to changed files, means there will be a huge performance increase.
Re:on Single Compilers (Score:5, Informative)
FreeBSD (and Linux) were already in a "one compiler to rule them all" situation, aka GCC. At least with FreeBSD 9 there were two compilers in the base install (GCC, LLVM), and you have the option of keeping GCC in 10 if you really want.
IOW, you're complaint is baseless and backwards.
Re:Clang is Slower (Score:5, Informative)
Except FreeBSD is not using GCC 4.8. They're using GCC 4.2.1, the last version that was GPLv2.
While the current version of GCC may be faster than Clang/LLVM, that doesn't mean Clang/LLVM isn't faster than what is in use now, so the switch may even boost performance compared to the ancient version of GCC in use.
Ah, the BSD "freedom" (Score:0, Informative)
Freedom to deny others freedom. That's the only reason for avoiding copyleft.