linux环境下编译llvm源码

mac2025-01-06  13

环境配置:Ubuntu-16.04
1) 下载依赖
sudo apt-get install cmake sudo apt-get install xz-utils sudo apt-get install build-essential sudo apt-get install wget
2) 下载源码 && 解压
# 下载 wget https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/llvm-8.0.1.src.tar.xz wget https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/cfe-8.0.1.src.tar.xz # 解压缩 tar xvf llvm-8.0.1.src.tar.xz mv llvm-8.0.1.src llvm tar xvf cfe-8.0.1.src.tar.xz mv cfe-8.0.1.src llvm/tools/clang
3) 编译 && 安装

这里在内存及硬盘充足的条件下,推荐Debug配置的编译,这更能让你体验"较大的项目"的编译过程。否则请采用Release配置的编译

强烈推荐release,因为debug配置会占用90G空间,而release只需要10G

mkdir llvm-build && cd llvm-build # Release cmake ../llvm -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`cd .. && pwd`/llvm-install # Debug cmake ../llvm -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=`cd .. && pwd`/llvm-install # Install make install
4) 配置环境变量
sudo gedit ~/.profile(or .bashrc)

在打开的文件末尾加上下面的内容,保存修改并重启虚拟机。

export PATH="$HOME/llvm-8.0.1/llvm-install/bin:$PATH"

在终端输入llvm-config --version,出现8.0.1表示编译并安装成功。

5) 新建gcd.c
int gcd (int u, int v) { /* calculate the gcd of u and v */ if (v == 0) return u; else return gcd(v, u - u / v * v); /* v,u-u/v*v is equals to u mod v*/ } int main() { int x; int y; int temp; x = 72; y = 18; if (x<y) { temp = x; x = y; y = temp; } return gcd(x,y); }
6) 测试
$ clang -S -emit-llvm gcd.c $ lli gcd.ll $ echo $?

输出结果应为18

最新回复(0)