编译 Firefox 其实很简单
最近编译了一把Firefox,感觉编译Firefox 其实真的很简单。在编译之前,我也参考了一些文章,但发现那些文章不是过时了,就是错误的。于是决定把我的编译过程跟大家共享一下。废话少说,我的编译过程如下:
1) 安装VS 2008 + SP1。Express 或者Team Suite都可以,最少要把Visual C++ 的组件安装上。如果您想编译Firefox 2.0 的版本,您需要安装VS 2003;如果编译Firefox 1.5 需要VC6.0 + SP5,这个环境现在不好找了。
2) 到ftp://ftp.mozilla.org/pub/firefox/releases/ 下载要编译的Firefox版本。我个人觉得Firefox在3.0 以后的版本才真正做到了比IE快!而且不是一般的快,我个人比较推荐3.0.6 和 3.0.12 这两个版本,这是真正是稳定高效的版本。以前Firefox 2.0 时代说Firefox是最快的浏览器,那是吹牛的。
3) 到http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.4.exe 下载MozillaBuild 工具。这个工具含有Nsis和MinGW,编译Firefox全靠MinGW调用cl.exe了,Nsis工具用来给程序打包。
4) 解压缩Firefox 源代码,推荐使用7-zip 工具(如果觉得好,别忘了给7-zip捐点儿钱)。我把Firefox代码放到E:\Mozilla 下了,建议别使用有空格的路径例如"My Documents"。如果编译脚本使用了某个perl工具,而编写者又没有考虑到空格路径,那就是一个灾难了。
5) 安装MozillaBuild工具,其实MozillaBuild安装包也是一个压缩包,用7-zip一样可以解压缩。
6) 到E:\mozilla\browser\config 目录下,把mozconfig文件拷贝到E:\Mozilla\ 目录下。将下列内容加入mozconfig文件中:
mk_add_options MOZ_CO_PROJECT=browser
mk_add_options MOZ_MAKE_FLAGS="-j5"
mk_add_options MOZ_CO_MODULE="mozilla/tools/update-packaging"
mk_add_options MOZ_PACKAGE_NSIS=1
ac_add_options --enable-application=browser
ac_add_options --enable-update-channel=nightly
ac_add_options --enable-optimize
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --enable-update-packaging
这些编译选项是可以按需修改的,具体请参照:https://developer.mozilla.org/en/Configuring_Build_Options
7) 下面就是正式编译了。首先,转到MozillaBuild安装目录下,这个目录中有一系列的bat批处理文件。对应着不同的VS版本。因我们使用的是VS 2008,所以双击start-msvc9.bat 文件。最后,需要输入编译指令。很简单,第一要将当前路径转到E:\Mozilla 路径下;第二就是用make工具编译:
cd E:\mozilla
make -f client.mk build
约20分钟左右,Firefox就编译完成了。因此时CPU和硬盘都比较忙,最好别同时做别的。有时候编译过程中会Hang住,关掉控制台重来一下就可以了。
8) 编译好的程序放在了 E:\mozilla\dist\bin 下面,趁热双击Firefox.exe 看一看新鲜出炉的成果。值得提醒注意的是,官网和其他网站上描述的设定环境变量等操作,是根本不需要的(至少编译Firefox时不需要)。完全可以不理会。
源代码编译出来的Firefox都是英文版本的,而且人家也不叫Firefox 而是Gran Paradiso。下面介绍一下给Firefox打语言包的方法:
1) 到ftp://ftp.mozilla.org/pub/firefox/releases/版本号/win32/xpi/ 目录下下载简体中文语言包插件zh-CN.xpi 到E:\Mozilla\dist\bin 目录下(别忘了把"版本号"替换成真正的版本号)。
2) 使用命令控制台(cmd.exe)转到E:\Mozilla\dist\bin 目录下, 运行firefox -install-global-extension zh-CN.xpi 安装语言包插件。
3) 启动Firefox,在地址栏输入 about:config 回车,设置Firefox的默认语言。
4) 将general.useragent.locale 的值由en变为zh-CN。重启Firefox。
5) 至此Firefox已经变为中文版本。大功告成!
以上内容在Vista + VS 2008 + SP1 下编译Firefox3.0 以上版本,在XP + SP2 + VS 2003 下编译Firefox 2.0 版本都测试通过。