一次 LLVM 的编译记录

By Looning3 minutes read

简述

一次简单的 llvm 源码编译记录。

下载源码

根据 llvm 官网的指引。使用 git 进行源码下载,使用命令如下:

git clone https://github.com/llvm/llvm-project.git

编译源码

目前官方推荐使用 CMake 来编译 LLVM,不再推荐使用 config 文件,所以选项需要在使用 CMake 时指定出来,本次编译使用的相关配置如下:

cd llvm-project
mkdir build && cd build
cmake -G "Ninja" ../llvm \
  -DCMAKE_BUILD_TYPE=Release \
  -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;mlir;polly" \
  -DLLVM_TARGETS_TO_BUILD="X86" \
  -DLLVM_ENABLE_RTTI=ON \
  -DLLVM_BUILD_LLVM_DYLIB=ON \
  -DLLVM_LINK_LLVM_DYLIB=ON \
  -DBUILD_SHARED_LIBS=OFF \
  -DLLVM_ENABLE_LLD=ON \
  -DCMAKE_INSTALL_PREFIX=/your/llvm/install/path

我使用ninja来编译系统,而不是使用make来构造,如需使用make,可以改为 "GNU make"。以下为其余详细参数解释:

设置完成后,使用如下命令开始编译:

ninja -j <n>

建议n不要设置得太高,llvm 编译比较吃内存,很容易把系统内存吃爆。

运行测试检查安装

运行 LLVM 测试

cd build
ninja check-llvm

这会运行 LLVM 核心库的测试,检查基本功能是否正常。

运行 Clang 测试

ninja check-clang

检查 Clang 编译器是否正常工作。

运行 MLIR 测试

ninja check-mlir

检查 MLIR 功能是否正常。

运行 Polly 测试

ninja check-polly

检查 Polly 多面体优化器是否正常。

安装

因为前面已经使用CMake配置好了安装路径,接下来直接安装即可:

ninja install 

验证安装

/your/llvm/install/path/bin/clang --version
/your/llvm/install/path/bin/llvm-config --version

如果输出正常,则安装完成,后续就可以在安装目录下使用 llvm 相关组件啦。

ceshi