本教程使用的操作系统是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
创建几个子目录用于存放LLVM子项目的源代码:
mkdir -p tools/clang
mkdir -p tools/clang/tools/extra