译至:http://d.hatena.ne.jp/embedded/20140827/p1
LLVM3.5可能很快就要release了,但是不想等了直接从源代码开始试着编译一下clang/llvm。
编译的方法如下所示:
Getting Started with the LLVM System — LLVM 3.6 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)
checkout 出 release_35 的分支。
$ 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