clang/llvmをソースからビルドする
LLVM 3.5 がそろそろリリースされそうですが、それを待たずにソースコードからclang/llvmをビルドしてみました。
ビルドの方法は以下に書かれています。
Getting Started with the LLVM System — LLVM 9 documentation
本家のリポジトリはsvnなのですが、gitのミラーも用意されているのでそちらからソースを入手しました。
$ WORKDIR=$HOME/work $ mkdir $WORKDIR $ cd $WORKDIR $ git clone http://llvm.org/git/llvm.git $ cd llvm $ (cd tools/; git clone http://llvm.org/git/clang.git) $ (cd projects/; git clone http://llvm.org/git/compiler-rt.git)
release_35のブランチをcheckoutします。
$ git checkout -b work origin/release_35 $ (cd tools/clang; git checkout -b work origin/release_35) $ (cd projects/compiler-rt/; git checkout -b work origin/release_35)
ビルドは別のディレクトリで行います。
$ cd $WORKDIR $ mkdir obj $ cd obj $ ../llvm/configure
ビルドは時間がかかるので、nohupをつけて途中でログアウトしても大丈夫なようにしました。
$ nohup make ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1 -j4 &
インストール
$ sudo make ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1 install
$ which clang /usr/local/bin/clang $ clang --version clang version 3.5.0 (http://llvm.org/git/clang.git 3d96c02ac11c62ff959aed67163bef2c79012a83) (http://llvm.org/git/llvm.git a3313efbbeab739eacbba6faf4e941129576dbd2) Target: x86_64-unknown-linux-gnu Thread model: posix