截止至2018/5/18可用的在Ubuntu16.04上llvm+compiler-rt+clang+clang-extra+libcxx+libcxxabi+lld編譯安裝的方法

1. 安裝libffi(下載地址:https://sourceware.org/libffi/

./configure
make
sudo make install

2. 可替換make的ninja(可選)

sudo apt-get install ninja-build
3. 下載llvm
mkdir clang
cd clang
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm

4. 下載compiler-rt、libcxx和libcxxabi

cd llvm/projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
svn co http://llvm.org/svn/llvm-project/libcxx/trunk/ libcxx
svn co http://llvm.org/svn/llvm-project/libcxxabi/trunk/ libcxxabi

5. 下載clang

cd ../tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang

6. 下載clang的extra

cd clang/tools
svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk/ extra

7. 下載lld並修正一處源碼使其可以編譯

cd ..
svn co http://llvm.org/svn/llvm-project/lld/trunk/ lld

打開lld裏的COFF/PDB.cpp,將GlobalTypeHashAlg::SHA1_8替換爲GlobalTypeHashAlg::SHA1(去掉“_8”)。

8. 返回到llvm文件夾的上級目錄:

mkdir build
cd build

9.1 cmake編譯法(我自己的安裝路徑爲/opt/clang/install

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE:String=Release -DCMAKE_INSTALL_PREFIX=/opt/clang/install -DLLVM_ENABLE_FFI=ON -DLLVM_BUILD_LLVM_DYLIB=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -Wno-dev ../llvm/
make -j4
make install

9.2 ninja編譯法(我自己的安裝路徑爲/opt/clang/install)

cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/opt/clang/install -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_FFI=ON -DLLVM_BUILD_LLVM_DYLIB=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON  -Wno-dev ../llvm
ninja -j4
ninja install

10. 添加path及ld_library_path即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章