用于记录关于Chromium学习过程中碰到的琐碎问题,某方面的knowledge积累多了,就再写一篇文章
Depot Tool是一系列脚本,功能如下
- manage all checkouts in the chromium source tree
- generate the build files for platform
- for code review
Chromium整体构建过程
- 由gn工具根据各模块的.gn profile 产生 .ninja
- gyp也有,但gn增量构建块的原因,逐渐转型到gn构建
- 通过ninja再生成最终目标文件,例如动态库,静态库,exe或者是apk
- 参考文章
Build Common Problems(Life of a Chromium Developer:Slide 9)
- 过于随机,不可能的C++报错。有可能是当前版本本来就编译不过,要到waterfall里看tree is green or red?
- Link error but used to work。delete output directory
不同目录下的一些cmd
- src/
- 构建相关
- gn gen out/Default
- gn args --list out/Default 输出所有的配置
- gn args out/Default --list=is_debug 查询id_debug构建参数
- 构建相关
- Slide 5 : build.chromium.org for what?
- 类似在线测评,提交path后,需要测试是否在LUCI SERVER Complie accept
- Slide 9:build object,library,1 massive link具体在代码的哪里?为什么可执行文件大,更新和load会更快呢?
- 因为有很多个os,每个os有很多个类似chrome.exe,unittest之类的project
- Slide 23:Run with --single-process flag 。 如何attach 到 render process?