安装依赖并获取代码
- 确认可以解压.tgz类型的文件
- 下载代码source tarball
- 确认代码放置的分区空间足够
- 解压代码
- 安装depot_tools
如果是ubuntu系统需要运行下面
bash
$cd /path/to/chromium/src
$sudo ./build/install-build-deps.sh
更新代码
bash
$ gclient sync --force
具体参见Get the code
安装clang依赖
因为chrome编译很慢,这里尝试利用clang加快编译速度以及提高编译质量
1
| $tools/clang/scripts/update.sh
|
编译
gcc
1
2
| $./build/gyp_chromium
$make chrome -j4
|
clang
1
2
| $GYP_GENERATORS=ninja GYP_DEFINES=clang=1 ./build/gyp_chromium
$ninja -C out/Debug chrome #fast
|
或者
1
2
| $GYP_GENERATORS=make GYP_DEFINES=clang=1 ./build/gyp_chromium
$make chrome -j4 # 4: Number of cores, change accordingly
|
chrome clang
问题
nacl超时
在进行更新代码操作时可能会遇到
1
| download_nacl_toolchain.py timeout
|
如果没有下载完就进行编译,可能会遇到
这样的错误。
需要尝试重新更新代码
或者在build/common.gyi中将‘disable_nacl%’%: 0置为1(这种方法是官网在编译
chrome os时超时的解决办法,未经尝试)
webkit的svn超时
一种方法:如果不需要webkit中的layouttest可以在.gclient中将其注销
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| solutions = [
{ "name" : "src",
"url" : "https://src.chromium.org/chrome/trunk/src",
"deps_file" : "DEPS",
"managed" : True,
"custom_deps" : {
"src/third_party/WebKit/LayoutTests": None,
"src/content/test/data/layout_tests/LayoutTests": None,
"src/chrome_frame/tools/test/reference_build/chrome": None,
"src/chrome_frame/tools/test/reference_build/chrome_win": None,
"src/chrome/tools/test/reference_build/chrome": None,
"src/chrome/tools/test/reference_build/chrome_linux": None,
"src/chrome/tools/test/reference_build/chrome_mac": None,
"src/chrome/tools/test/reference_build/chrome_win": None,
},
"safesync_url": "",
},
]
|
另一种方法:可以人工下载webkit然后将其替换到chrome工程中去。
参考
Chromium Project
chrome clang
Get the code