0%

《其他》V8源码构建

安装 depot_tools

V8所用的构建系统是GN,用于生成Ninja的构建文件,它的功能类似于CMake,用于跨平台多目标构建,GN 默认包含在depot_tools工具集中,因此需要先下载depot_tools

  1. git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  2. export PATH=”$PATH:/path/to/depot_tools”
  3. 执行 gclient 初始化

下载源码

  1. fetch v8 拉取源码
  2. cd v8
  3. git checkout 版本号
  4. gclient sync 更新依赖

构建

  1. Linux下需要执行 ./build/install-build-deps.sh
  2. tools/dev/gm.py x64.release

到这里就生成了可执行文件d8,运行试试

out/x64.release/d8

另外也可以生成静态库,提供给外部使用,实际上这种用法更多,比如谷歌浏览器就是调用v8静态库

  1. ./tools/dev/v8gen.py golib // 会在目录out.gn下生成一个golib目录,里面有一些编译的配置文件
  2. ninja -C out.gn/golib v8_lib // 编译,会在out.gn/golib/obj目录下生成libv8_lib.a静态库



微信关注我,及时接收最新技术文章