因为出于工作项目需要,得完成在Ubuntu下的Firefox源码编译
网上的教程多是在windows环境下的,而且也没有正经的教程
有的也只是
讲道理,它因为要考虑照顾到所有可能用户的需求,所以把教程写的很啰嗦,繁琐,真的不是很想看下。
然后我就将其步骤简化了一下,略去各种乱七八糟的情况,整理下无脑版 Ubuntu16.04下源码编译Firefox
当然主要参考的还是上述的官方教程。
0.
Ubuntu16.04系统自带python2.7.3环境,所以就不用额外去安装python了。而且也不推荐python3去安装。
1.创建空目录
找一个目录用来存放相关的文件比如/usr/local/,接着执行如下命令(建议在root用户下进行操作,不这样做的话,可以自行加sudo解决,下面的命令默认都在root用户下):
mkdir src && cd src
2.下载py文件
由于编译Firefox需要依赖很多其他软件环境,而官方提供的bootstrap.py文件,基本把所需的环境都准备好了。如果不执行它提供的py文件的话,就得自己一个个安装相关软件的环境,还是比较麻烦的,建议还是去执行它提供的py文件。
执行如下命令,下载该文件:
wget https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py
成功下载bootstrap.py文件后,接着执行该文件:
python bootstrap.py
接着执行会遇到这个选择
这里就根据自己的需求进行选择,我选择了2,如果你不知道选啥那就2吧23333
等待上述的命令执行完成,基本就把编译需要的环境准备好了。当然在后续编译的过程中,可能还会遇到某个软件版本过低的问题,这时候就得自己额外谷歌一下如何去update该软件的版本...
3.获取Firefox源码
接着执行如下命令,获取Firefox源码:
hg clone https://hg.mozilla.org/mozilla-central
可能会遇到没有hg这个命令的错误,按照它的提示,apt install一下就OK了
4.编译源码
无视各种配置选项,直接在当前目录下无脑执行,如下命令就完事儿了。
./mach build
然后接着就是漫长的等待了,编译完成的时间快慢取决于你的机子的性能好坏。
编译成功如下图
Peace!
注:
使用GCC编译的话得看下GCC的版本支不支持,如果版本太低,需要update你的GCC。
可以参考如下链接:
另外得加入两句命令
export CC=gcc
export CXX=g++
如果使用Clang编译的话,上述的步骤没有区别,只是在开始build前,需要加入如下两句命令:
export CC=clang
export CXX=clang++
估计得到clang 8.0才可以支持现在的firefox编译吧23333
如何update你的clang,自己谷歌吧233333