在Linux上编译LLVM/Clang等全部源代码

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

本教程使用的操作系统是Ubuntu Linux 18.04 LTS版本,编译器是LLVM/Clang 6.0,要编译的LLVM源代码是6.0.1。

1、安装必要的软件。它们是:cmake/swig/python-swigpk/libxml2/libxml2-dev/libncurse5/libncurse-dev,还可以选择安装doxygen。
打开终端,输入以下命令:
sudo apt-get install cmake swig python-swiglpk libxml2 libxml2-dev libncurses5 libncurses5-dev

2、下载LLVM/Clang等全部源代码。(下载地址)

3、解压LLVM/Clang等全部源代码(不包括test-suite)。
首先解压llvm主程序源代码:
tar xf llvm-6.0.1.src.tar.xz
然后进入llvm主目录:
cd llvm-6.0.1.src
创建几个子目录用于存放LLVM子项目的源代码:
mkdir -p tools/clang
mkdir -p tools/clang/tools/extra
mkdir -p tools/lld
mkdir -p tools/lldb
mkdir -p tools/polly
mkdir -p projects/compiler-rt
mkdir -p projects/libcxx
mkdir -p projects/libcxxabi
mkdir -p projects/libunwind
mkdir -p projects/openmp
开始解压所有的子项目:
tar xf ../cfe-6.0.1.src.tar.xz -C tools/clang --strip-components=1
tar xf ../clang-tools-extra-6.0.1.src.tar.xz -C tools/clang/tools/extra --strip-components=1
tar xf ../lld-6.0.1.src.tar.xz -C tools/lld --strip-components=1
tar xf ../lldb-6.0.1.src.tar.xz -C tools/lldb --strip-components=1
tar xf ../polly-6.0.1.src.tar.xz -C tools/polly --strip-components=1
tar xf ../compiler-rt-6.0.1.src.tar.xz -C projects/compiler-rt --strip-components=1
tar xf ../libcxx-6.0.1.src.tar.xz -C projects/libcxx --strip-components=1
tar xf ../libcxxabi-6.0.1.src.tar.xz -C projects/libcxxabi --strip-components=1
tar xf ../libunwind-6.0.1.src.tar.xz -C projects/libunwind --strip-components=1
tar xf ../openmp-6.0.1.src.tar.xz -C projects/openmp --strip-components=1

4、编译LLVM/Clang等全部源代码。
切换到终端,执行以下命令:
cd ..
mkdir build
cd build
sudo mkdir /xxx
sudo cmake -DCMAKE_INSTALL_PREFIX=/xxx ../llvm-6.0.1.src(这里的xxx是你想要安装LLVM的目录,名字可以随便取,如果不加-DCMAKE_INSTALL_PREFIX参数的话默认应该是安装到/usr里)
sudo cmake --build .(开始编译。编译过程很长,需要几个小时,具体时间和CPU性能有关)
sudo cmake --build . --target install(安装LLVM/Clang等所有已编译好的软件。安装目录在上面指定了)

 

转载于:https://my.oschina.net/u/943779/blog/1934175

你可能感兴趣的:(在Linux上编译LLVM/Clang等全部源代码)