1. 程式人生 > >chromium原始碼的下載和編譯三

chromium原始碼的下載和編譯三

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命令了:

但是在chromium目錄執行gn args out/debug,還是會遇到問題:

ERROR at //.gn:6:1: Unable to load "/home/armite/google/chromium/third_party/angle/dotfile_settings.gni".

這說明還需要同步angle這個依賴庫,於是在github上搜了一下angle,找到了google相關的映象:https://github.com/google/angle.git,下載到third_party後,gn可以正常運行了。

但是在生成編譯檔案時,報錯了:

Generating files... ERROR at //build_overrides/build.gni:5:1: Can't load input file. import("//build/config/gclient_args.gni")

但是在config中沒有找到gclient_args.gni,這是做什麼用的呢?