在Linux上編譯LLVM/Clang等所有源代碼

本教程使用的操做系統是Ubuntu Linux 18.04 LTS版本,編譯器是LLVM/Clang 6.0,要編譯的LLVM源代碼是6.0.1。html

一、安裝必要的軟件。它們是:cmake/swig/python-swigpk/libxml2/libxml2-dev/libncurse5/libncurse-dev,還能夠選擇安裝doxygen。
打開終端,輸入如下命令:
sudo apt-get install cmake swig python-swiglpk libxml2 libxml2-dev libncurses5 libncurses5-devpython

二、下載LLVM/Clang等所有源代碼。(下載地址性能

三、解壓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=1ui

四、編譯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等全部已編譯好的軟件。安裝目錄在上面指定了)es5

相關文章
相關標籤/搜索