chromium生成编译工程文件需要用到gn,但是gn又在chromium的依赖库中需要gclient来下载,这是需要翻墙的,于是在github上搜索了一下gn,真的找到了一些源码镜像,但是发现其编译过程还是需要gn,这变成了蛋鸡问题了,于是在网上找了一个最新的gn可执行文件,运行gn args out/debug,发现生成过程还是需要用gclient同步一些依赖库,这又变成了蛋鸡问题。
在看chromium/tools/gn目录时发现了一个文件,bootstrap.py看源码是一个自动编译文件,同时在github上找到一个subgn的镜像,看readme可以不用gn来编译出gn:https://github.com/ndsol/subgn,简单地两步就能编译出gn,然后把gn可执行文件替换depot_tools中的gn脚本,那么就能运行gn命令了:
- git clone https://github.com/ndsol/subgn
- cd tools/gn; ./bootstrap/bootstrap -s
但是在chromium目录运行gn args out/debug,还是会遇到问题:
ERROR at //.gn:6:1: Unable to load "/home/armite/google/