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

相关文章
相关标签/搜索