llvm编译linux,在Linux上编译LLVM/Clang 8.0.0等全部源代码
本教程使用的操作系統(tǒng)是Ubuntu Linux 18.04.2 LTS版本,編譯器是GCC 6.5.0(不用新版的原因是某些代碼不支持更高的版本),要編譯的LLVM源代碼是8.0.0。
1、安裝必要的軟件。它們是:build-essential/gcc-6/g++-6/cmake/swig/python-swigpk/libxml2/libxml2-dev/libncurse5/libncurse-dev/libedit-dev/libpython-dev,還可以選擇安裝doxygen/ocaml/python-sphinx/git/libopenmpi-dev/libelf-dev/libffi-dev/python-pycuda。
打開終端,輸入以下命令:
sudo apt-get install build-essential gcc-6 g++-6 cmake swig python-swiglpk libxml2 libxml2-dev libncurses5 libncurses5-dev libedit-dev libpython-dev
另外還要安裝z3,安裝方法看這里。
切換gcc/g++版本的方法看這里。
2、下載LLVM/Clang等全部源代碼。(下載地址)
3、解壓LLVM/Clang等全部源代碼(不包括test-suite)。
首先解壓llvm主程序源代碼:
tar xf llvm-8.0.0.src.tar.xz
然后進入llvm主目錄:
cd llvm-8.0.0.src
創(chuàng)建幾個子目錄用于存放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-8.0.0.src.tar.xz -C tools/clang --strip-components=1
tar xf ../clang-tools-extra-8.0.0.src.tar.xz -C tools/clang/tools/extra --strip-components=1
tar xf ../lld-8.0.0.src.tar.xz -C tools/lld --strip-components=1
tar xf ../lldb-8.0.0.src.tar.xz -C tools/lldb --strip-components=1
tar xf ../polly-8.0.0.src.tar.xz -C tools/polly --strip-components=1
tar xf ../compiler-rt-8.0.0.src.tar.xz -C projects/compiler-rt --strip-components=1
tar xf ../libcxx-8.0.0.src.tar.xz -C projects/libcxx --strip-components=1
tar xf ../libcxxabi-8.0.0.src.tar.xz -C projects/libcxxabi --strip-components=1
tar xf ../libunwind-8.0.0.src.tar.xz -C projects/libunwind --strip-components=1
tar xf ../openmp-8.0.0.src.tar.xz -C projects/openmp --strip-components=1
4、編譯LLVM/Clang等全部源代碼。
切換到終端,執(zhí)行以下命令:
cd ..
mkdir build
cd build
sudo mkdir /xxx
sudo cmake -DCMAKE_INSTALL_PREFIX=/xxx ../llvm-8.0.0.src(這里的xxx是你想要安裝LLVM的目錄,名字可以隨便取,如果不加-DCMAKE_INSTALL_PREFIX參數(shù)的話默認應(yīng)該是安裝到/usr里)
sudo cmake --build .(開始編譯。編譯過程很長,需要幾個小時,具體時間和CPU性能有關(guān))
sudo cmake --build . --target install(安裝LLVM/Clang等所有已編譯好的軟件。安裝目錄在上面指定了)
總結(jié)
以上是生活随笔為你收集整理的llvm编译linux,在Linux上编译LLVM/Clang 8.0.0等全部源代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第三章 ARM汇编语言程序设计——ARM
- 下一篇: c51单片机矩阵键盘1602计算器_基于