此文描述如果在Linux操作系统上编译构建Chromium浏览器。假如你对测试chromium或想移植chromium到别的平台请你继续阅读。
提示:目前还没有在Linux运行的Chromium浏览器,虽然Chromium的部分子模块在linux编译过和一小部分的单位测试通过过,所有的那些也只是一条命令“all tests pass"执行了而已!
前提条件
注意:我们的想法是你可以在任一可适用的现代Linux发行版中编译构建Chromium,并且我们尝试尽全力列出系统编译前提条件。当然,请你能忍受Linux移植还只处在开始阶段这一现实情况,而且我们在大多数的Linux发行版中测试是有限的.在Chromium内部,我们的开发平台是Ubuntu8(hardy heron)的一个变种,我们希望你能在此系统平台中有个好运。
Linux平台需要以下软件方能编译构建:
Subversion >= 1.4(提示:假如你使用的是tarball(压缩包格式),很难关注代码的改动,你需要1.5版本,我们以后会修复它的)(译者:Subversion是一种比CVS高级的版本控制软件)
pkg-config >= 0.20 (译者:pkg-config是开发用的库配置工具)
Python >= 2.4 (译者:Python编程语言,此处指Python环境,工具)
Perl >5.x
gcc/g++ >= 4.2
bison >= 2.3 (译者:GNU bison语法分析转换工具?)
flex >= 2.5.34
gperf >= 3.0.3
libnss3-dev >= 3.12
在Ubuntu8系统中,你可使用下面的命令一次得到所有的软件:
$ sudo apt-get install subversion pkg-config python perl g++ bison flex gperf libnss3-dev
获取代码
1.选择编译的目录.
我们将在此文档中称此目录为变量$CHROMIUM_ROOT.
2.获取代码库工具.
$cd $CHROMIUM_ROOT
(或,下载.tar.gz格式的压缩包文件:depot_tools_linux.tar.gz
为了保持此编译说明文档的独立完整,我们假设你的depot_tools目录在你的编译目录($CHROMIUM_ROOT)下,
但它不是必需这样,你可把它放置到任何地方,然后在你的PATH环境变量或其它变量中增加此路径,
3.因为很多人对此高度感兴趣导致我们的临时工作服务器不能访问,请试着下载从SVN中的代码快照,解压缩它,
并按照下的的指示升级更新代码,你将通过gclient同步工作得到相同的结果.
? ? ??? $ cd $CHROMIUM_ROO
$ export LANG=C # temp workaround for gclient behavior
$ ./depot_tools/gclient config
$ ./depot_tools/gclient sync
提示:默认的,运行gclient同步工具,depot_tools将会自动的将代码更新到最新版本(随时),
如果你想关掉此行为请查阅depot_tools文档页内容.
构建???
编译构建当前的Chromium linux子集:
$ cd $CHROMIUM_ROOT/src/chrome
$ ../third_party/scons/scons.py Hammer
在编译后,可执行程序放置于$CHROMIUM_ROOT/src/chrome/Hammer 目录
问题处理
sh: d: not found while processing Hammer/webkit/WebCore/xml/XPathGrammar.y
你没有安装bison,我们正修补我们的编译脚本使用之更加易用和友好,但你读此文档时,我们的代码改变记录中还没有更新!