vs2017 編譯最新chromium

一、準備python

ssr,模式爲系統全局,這樣可讓python走代理。go和git的須要單獨設置,後面說。git

vs 2017 ,我使用的是community版本,即社區版。其餘版本亦可。web

win10 sdk, https://developer.microsoft.com/zh-cn/windows/downloads/sdk-archive, 我下的Windows 10 SDK 版本 1809 isochrome

depot tools, https://storage.googleapis.com/chrome-infra/depot_tools.zipwindows

二、配置api

打開ssr的本機代理安全

解壓depot tools 並設置環境變量PATH架構

爲避免depot tools更新失敗,直接在環境變量裏設置DEPOT_TOOLS_UPDATE0,並設置DEPOT_TOOLS_WIN_TOOLCHAIN0ide

爲go設置代理也是寫環境變量工具

HTTP_PROXY http://127.0.0.1:1080 

HTTPS_PROXY http://127.0.0.1:1080

最後是這樣

 GYP的幾個變量不知道是否有用,你能夠刪除試試

 

三、下載代碼

新建一個chromium目錄,開cmd, cd chromium,

設置git代理

git config --global http.proxy http://127.0.0.1:1080

git config --global https.proxy http://127.0.0.1:1080

下載源碼 fetch --nohooks --no-history chromium, --no-history不下載變動歷史,所以下載量較小,--nohooks加不加不所謂吧 反正最後都要執行hook

同步代碼 gclient sync

下載有兩個階段,一是源碼,一是引用的三方庫的代碼。

若是源碼沒下完斷了建議刪了從新fetch,不然sync會從新下載帶有歷史變動記錄的代碼,很是大,若是三方引用斷了,gclient sync 會僅同步三方引用的。

四、編譯配置

cd src

執行gn gen out/Default --ide=vs2017生成vs解決方案,即便使用vs,項目的編譯工具仍然是ninja。

五、開始編譯

使用vs打開 out/Default/all.sln 或者 ninja -C out/Default chrome 開始編譯。編譯須要好久,半天到一天吧。

直接ninja -C out/Default,不指定chrome的話,編譯的文件更多。

六、編譯參數

查看編譯的參數 gn args out/Default --list >> gnargs.txt,然在src/gnargs.txt查看。若是不輸出到文件,cmd界面顯示不完整。

配置編譯的參數 gn args out/Default,將打開一個txt,將上面能見的你又須要自定義的參數寫到裏面便可。

經常使用的參數

下面說明一些常見的參數:

target_cpu="x86":指明生成的針對X86架構的CPU。

is_debug=false:指明生成的是Release版本可執行程序。

is_official_build=true:指明使用Chrome官方的編譯優化建議。

proprietary_codecs:指明支持H264編碼,編譯時,自動H264相關組件,打包PE文件中。

enable_nacl=false:指明關閉支持NACL,這是一種Chrome插件,由於安全性,穩定性存在問題,已經不多使用了。

remove_webcore_debug_symbols=true:指明刪除內核層支持調試的符號文件,這樣,有助於減小文件體積,提升運行速度。

更多關於gn

https://www.chromium.org/developers/gn-build-configuration

相關文章
相關標籤/搜索