FreeBSD9から脱GNUの一環としてgccと新たにllvm clangがbaseに入りました。
現在、デフォルトはgccですが、近い将来gccはbaseから外れportsに追いやられることでしょう。
llvm clangでkernel・userland・portsをコンパイルする方法は/etc/make.confに以下を書くだけでOKです。
.if !defined(CC) || ${CC} == "cc" CC=clang .endif .if !defined(CXX) || ${CXX} == "c++" CXX=clang++ .endif .if !defined(CPP) || ${CPP} == "cpp" CPP=clang -E .endif # Don't die on warnings NO_WERROR= WERROR= # Don't forget this when using Jails! NO_FSCHG=
portsの対応状況ですが以下を見る限りかなり少なくなってきているのでclangデフォルトで問題ないですね。
http://pointyhat.freebsd.org/errorlogs/i386-9-full/index-reason.html
http://pointyhat.freebsd.org/errorlogs/amd64-9-full/index-reason.html
最新情報は以下をご覧ください。
http://wiki.freebsd.org/BuildingFreeBSDWithClang