截止至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即可

发布了15 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/plgkm6/article/details/80368692