为了能够在Windows/Linux/macOS for x64上从头开始构建V8,请遵循以下步骤。
获取V8源代码
V8的Git存储库位于https://chromium.googlesource.com/v8/v8.git,GitHub上有官方镜像:https://github.com/v8/v8.git。
按照我们的指南中的说明得到V8源代码。
(base) [myhaspl@localhost ~]$ mkdir v8learn
(base) [myhaspl@localhost ~]$ cd v8learn
(base) [myhaspl@localhost v8learn]$ git clone https://chromium.googlesource.com/v8/v8.git
或者:
$git clone https://github.com/v8/v8.git
V8是在GN的帮助下制造的。GN是一种元构建系统,因为它为许多其他构建系统生成构建文件。因此,如何构建取决于所使用的“后端”构建系统和编译器。
下面的说明假设您已经获取了V8,并且已经安装了构建依赖项。
更多关于GN的信息可以在Chromium的文档或GN自己的文档中找到。
从源代码构建V8包括三个步骤:
生成编译文件
编译
运行测试
构建V8有两个工作流:
方便的工作流使用了一个名为gm的助手脚本,它很好地结合了这三个步骤
原始工作流,您可以在较低级别上手动为每个步骤运行单独的命令
gm是一个方便的多功能脚本,它可以生成构建文件,触发构建,还可以运行测试。可以在V8源码上tools/dev/gm.py上找到它。建议在shell配置中添加别名
alias gm=/path/to/v8/tools/dev/gm.py
然后可以使用gm为已知配置构建V8,例如x64.release:
gm x64.release
要在生成后立即运行测试,请运行:
gm x64.release.check
gm输出它正在执行的所有命令,以便在必要时跟踪和重新执行它们。
gm可以通过一个命令构建所需的二进制文件并运行特定的测试:
gm x64.debug mjsunit/foo cctest/test-bar/*