前天下午看到adobe终于推出了flashplayer 全平台64位版后,便有了升级firefox的冲动。由于官方只提供炸弹版(Minefiled)的win64,于是便有了自己编译的念头。
失败了几次,发现几个要注意的地方首先是源码必须放在根目录,第一次编译的时候我放在mozilla-build的msys根目录,结果在转换lib绝对路径的时候出错。然后是mk_add_options MOZ_MAKE_FLAGS=”-j5″ 这个选项非常rp,make极容易死掉,不知道是为什么。今天早上成功编译了一次没有加这个参数,不过耗时也是明显的,用了整整半天时间。最后的配置文件参考http://hg.mozilla.org/build/buildbot-configs/file/tip/mozilla2/win32/mozilla-central/release/mozconfig、http://wiki.mozilla-x86-64.com/How_To_Build_Windows_x64_Build及http://hi.baidu.com/coolypf/blog/item/df275622bfed11599822edcf.html三个地方写的。附加一个参考http://fbuild.com/,我在写这篇日志的时候找到的。由于官网上说–enable-optimize选项在vs2010有问题,所以选择了vs2008作为编译器,而上面这个日站则是选择的vs2010。需要预先下载lang文件并解压在export L10NBASEDIR=/lang所对应目录。
# for pgo mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py' mk_add_options MOZ_PACKAGE_NSIS=1 export L10NBASEDIR=/lang mk_add_options L10NBASEDIR=/lang ac_add_options --target=x86_64-pc-mingw32 ac_add_options --host=x86_64-pc-mingw32 ac_add_options --enable-application=browser ac_add_options --enable-optimize ac_add_options --enable-jemalloc ac_add_options --enable-official-branding ac_add_options --disable-tests ac_add_options --disable-debug ac_add_options --enable-ui-locale=zh-CN |
之后运行make -f client.mk profiledbuild进行编译,接着就慢慢等吧XD。
附加点参考
Build Instructions
Building with Profile-Guided Optimization