要使用LLVM,您的系统必须为常见的操作系统,如Linux、FreeBSD、macOS或Windows。使用Debug构建LLVM和Clang很需要数十GB的磁盘空间,因此要确保您的系统有足够的可用磁盘空间,至少应该有30GB的空余空间。

    所需的磁盘空间很大程度上取决于所选的构建选项。仅以发布模式构建LLVM核心库,而且只针对一个平台,需要大约2GB的空余空间,这是最低需求。为了减少编译时间,一个高速的CPU(比如2.5GHz时钟速度的四核CPU)和一块SSD硬盘也会很有帮助。

    甚至可以在小设备上构建LLVM,比如树莓派———只是需要花费很多时间。我在笔记本电脑上开发了本书的示例,这台笔记本电脑配备了2.7GHz的英特尔四核CPU,具有40GB RAM和2.5TB SSD硬盘空间。

    您的开发系统必须安装一些必要的软件。让我们了解一下这些软件包的最低要求。

    Linux发行版通常包含可以使用的最新版本,版本号为LLVM 12。LLVM的最新版本可能需要这里提到的软件包的最新版本。

    从GitHub下载源代码,需要git(https://git-scm.com/),对版本没有要求。GitHub帮助页面推荐使用1.17.10以上版本。

    LLVM项目使用CMake(https://cmake.org/)作为构建文件生成器,至少为3.13.4。CMake可以为各种构建系统生成构建文件。本书中,使用Ninja(https://ninja-build.org/),是因为它编译速度快,适用于所有平台,建议使用最新版本1.9.0。

    您还需要一个C/C++编译器。LLVM项目是用现代C++编写的,基于C++14标准。需要符合标准的编译器和标准库。下面的编译器可以编译LLVM 12:

    • gcc 5.1.0或更高版本

    • Clang 3.5或更高版本

    • Apple Clang 6.0或更高版本

    • Visual Studio 2017或更高版本

    请注意,随着LLVM项目的开发,对编译器的需求很可能会发生变化。撰写本文时,有人讨论使用C++17,并放弃对Visual Studio 2017的支持。所以,应该使用系统可用的最新编译器版本。

    Python(https://python.org/)用于生成构建文件并运行测试套件,版本至少应该是3.6。

    虽然在本书没有涉及到Makefile,但可能有一些原因需要使用Make而不是Ninja。这种情况下,您需要使用GNU Make(https://www.gnu.org/software/make/) 3.79或更高版本。这两种构建工具的用法非常相似。对于这里的场景,用make替换命令中的ninja就可以了。

    要安装必备软件,最简单的方法是使用操作系统中的包管理器。下面将为主流的操作系统安装软件准备相应的命令行。

    Ubuntu

    Ubuntu 20.04使用APT包管理器。大多数基础设施已经安装完毕,只缺少开发工具。输入以下命令:

    \$ sudo apt install —y gcc g++ git cmake ninja-build

    Fedora和RedHat

    Fedora 33和RedHat Enterprise Linux 8.3的包管理器称为DNF。和Ubuntu一样,大多数基本实用程序都已经安装好了。输入以下命令:

    \$ sudo dnf install —y gcc gcc-c++ git cmake ninja-build

    FreeBSD

    在FreeBSD 12或更高版本上,您必须使用PKG包管理器。FreeBSD与基于linux的系统的不同之处在于,Clang是首选编译器。输入以下命令:

    \$ sudo pkg install —y clang git cmake ninja

    OS X

    对于OS X上的开发,最好从Apple商店安装Xcode。虽然本书中没有使用XCode IDE,但它附带了所需的C/C++编译器和实用程序。要安装其他工具,可以使用Homebrew软件包管理器(https://brew.sh/)。输入以下命令:

    \$ brew install git cmake ninja

    Windows

    和OS X一样,Windows没有包管理器。安装所有软件的最简单方法是使用Chocolately(https://chocolatey.org/)包管理器。输入以下命令:

    \$ choco install visualstudio2019buildtools cmake ninja git gzip bzip2 gnuwin32-coreutils.install

    请注意,这只安装来自Visual Studio 2019的构建工具。如果你想获得Community Edition(包含IDE),那么你必须安装visualstudio2019community包而不是visualstudio2019 buildtools。Visual Studio 2019安装的一部分是VS 2019的x64 Native Tools命令提示符。使用此命令提示符时,编译器将自动添加到搜索路径中。

    配置Git

    LLVM项目使用Git进行版本控制。如果没有使用过Git,那么应该先做一些Git的基本配置;也就是说,设置用户名和电子邮件地址。如果提交更改,将使用这两条信息。以下命令中,将Jane替换为您的姓名,将jane@email.org替换为您的电子邮件:

    \$ git config --global user.email \”jane@email.org\”

    \$ git config --global user.name \”Jane\”

    通常情况下,Git使用vi编辑器提交消息。如果您更喜欢使用另一种编辑器,可以以类似的方式更改配置,例如:要使用nano编辑器:

    \$ git config --global core.editor nano

    关于git的更多信息,请参阅由Packt出版的另一本书,《Git Version Control Cookbook - Second Edition》(https://www.packtpub.com/product/git-version-control-cookbook/9781782168454)。