WebRTC现在使用 gn 来生成构建脚本,使用 ninja 来构建。
gn 比 GYP 快多了,太多,你还没眨个眼,就结束了。
我们来大概介绍下编译 WebRTC 会用到的 gn 和 ninja 相关的知识。 想看编译指南的,看这里:Ubuntu 14.04下编译WebRTC。
gn
gn 的介绍在这里:https://www.chromium.org/developers/gn-build-configuration。这个页面还有到 gn 各种 reference 的链接。
使用 gn 生成 ninja 构建文件的常用命令:
// 生成 debug 版本的构建文件,默认配置
gn gen out/Debug
// 生成 release 版本的构建文件
gn gen out/Release --args="is_debug=false"
注意,通过 --args
可以传递参数给 gn ,具体参数的含义,由 WebRTC 的构建系统来解释。比如 is_debug 选项,决定构建 debug 还是 release 版本。
如果有多个参数,可以这样传递:
gn gen out/Release --args="is_debug=false proprietary_codecs=true"