The FreeBSD developers have announced that they are using the LLVM compiler with the Clang front end to replace GCC as the project's default C and C++ compiler for the FreeBSD 10 release.

Clang is now installed by default for FreeBSD 9.0-STABLE (the current version of the distribution) and FreeBSD 10.0-CURRENT, which will be the next release. All official kernel variants for FreeBSD 10 have also been successfully compiled using Clang and the developers are working to extend this to custom kernel configurations.

While the developers are planning to switch to Clang as the default system compiler "rather sooner than later", GCC will still be available for users who need it. To facilitate the switch, plans are to import a newer snapshot based on the 3.1 release of Clang as soon as possible.

Meanwhile, the FreeBSD community is preparing for the switch with many contributors working on testing the ports and making sure they compile with Clang. The FreeBSD ports system is the distribution's package management infrastructure. Ports are downloaded from the repositories in source form and compiled on the target system. Naturally, the build instructions for the individual packages need to be checked to work with the new compiler. More information on the switch to LLVM and Clang is available on the project's wiki.

Both the LLVM compiler and the Clang front end are licensed under the BSD-compatible University of Illinois/NCSA Licence. This is most likely a factor in the decision of the FreeBSD developers as GCC is licensed under the GPL and FreeBSD has been moving to deprecate software in favour of comparable BSD-licensed alternatives.

See also:

FreeBSD 8.3 introduces new features, a report from The H.



(fab)