linux环境下编译llvm源码

环境配置: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值