准备环境
安装python3,curl
sudo apt-get install python3 python3-dev curl
安装版本管理工具:
firefox使用Mercurial进行版本管理代码,所以下载代码前,必须先安装Mercurial
sudo python3 -m pip install --user mercurial
安装curl,下载准备文件bootstrap.py
curl https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py -O
执行python安装脚本
选择编译模式1.
这里有四个选择项,其中3,4项是以android为后端,编译运行于安卓平台的firefox用的,这里不选择。
那问题是1,2有什么区别,实际上,如果选择1,是基于社区预编译的很多pre-build库的基础上进行的增量编译,所以编译会很快就会完成,如果选择2,则会编译完整的源代码,会比较慢一些。
感谢万能的mozilla开发社区,助我解决了这个问题:
快速模式编译:
进入firefox/mozilla-unified目录,打开mozconfig文件
当ac_add_options --enable-artifact-builds打开时,使用的是快速编译模式,会使用pre-build的库。
执行./mach build 编译
运行:
执行 ./mach run
本地模式编译:
如果想完整编译Firefox所有代码,可以将ac_add_options --enable-artifact-build注释,重新执行相同的命令编译。
在我的PC(I7 8核),用时不到43分钟编译完成,比编译chromium节省不