clangというのはLLVM(Low Level Virtual Machine)のC言語フロントエンドです。大雑把にはベターgccと捉えて良いと思います。先日バージョン9.0がリリースされ、linuxカーネルがコンパイルできるようになったようです。LLVM自体もやってみたいし、ビルドして入れてみました。
環境
- OS: ubuntu 16.04LTS
- コンパイラ: gcc (バージョン5以上8以下)
準備
% wget http://releases.llvm.org/9.0.0/llvm-9.0.0.src.tar.xz
% wget http://releases.llvm.org/9.0.0/cfe-9.0.0.src.tar.xz
ビルド
prefixとして/home/llvm、ビルドタイプとしてReleaseを指定します。
% tar Jxf llvm-9.0.0.src.tar.xz
% tar Jxf cfe-9.0.0.src.tar.xz
% mv cfe-9.0.0.src ./llvm-9.0.0.src/tools/
% mkdir build
% cd build
% cmake -G "Unix Makefiles" ../llvm-9.0.0.src -DCMAKE_INSTALL_PREFIX=/home/llvm -DCMAKE_BUILD_TYPE=Release
% make -j12
おまけ:コンパイル中動作中のgnome-system-monitor
直近のUsage低下はscreenshotの影響な感じ。
インストール
% su
# make install
/home/llvm/binにPATHを通せばgcc/g++を使う感覚でclang/clang++コマンドを使えます。