
参考:
- 【参考 1】:Getting Started with the LLVM System
1. 准备工作系统环境
1.1 硬件
我采用的是运行在 x86_64 机器/虚拟机上的 Ubuntu 20.04 LTS。
1.2 软件
根据 【参考 1】,LLVM 官方要求的编译 LLVM 必需的几项主要软件如下:
- CMake:>=3.13.4,用于自动化生成项目编译配置文件,譬如用于 make 的 makefile 或者其他类型的 project 文件
- GCC: >= 5.1.0, LLVM 作为一款应用软件,仍然需要另一款编译器来制作它,这里我们采用 GCC
- python: >=2.7, 仅用于对 LLVM 进行自动化测试
- zlib: >=1.2.3.4, 可选
- GNU Make: 3.79, 3.79.1, 编译自动化驱动软件,LLVM 的编译可以支持多种驱动方式,譬如 Make 或者 Ninja。我们这里使用 Make。
将 Ubuntu 20.04 LTS 更新到最新状态后缺省已经支持以上要求。
其他编译过程中需要的工具,这些基本上 Ubuntu 上都有,如果缺少请自行安装。
2. 构造过程
2.1 下载 llvm 的源码
官方源码仓库在 github:https://github.com/llvm/llvm-project,国内的用户可以从 gitee 的 mirror 下载:
$ git clone https://gitee.com/mirrors/llvm-project.git
下载后进入源码仓库根目录并检出相应版本,目前最新的正式发布版本是 10.0.1-final,所以我们选择切换到 10.x 的分支上
$ cd llvm-project/
$ git checkout release/10.x
2.2 编译前的配置
编译前需要在 llvm 的源码根目录下新建一个 build 目录,然后进入这个目录进行 make,这个主要原因是 LLVM 目前不支持在 llvm-project 目录下直接编译,否则会失败,官方