大道有狐
狐狸大王
狐狸大王
  • UID37815
  • 注册日期2011-11-19
  • 最后登录2021-05-07
  • 发帖数455
  • 经验270枚
  • 威望0点
  • 贡献值156点
  • 好评度33点
  • 社区居民
  • 忠实会员
阅读:1668回复:4

初次尝试编译firefox成功但有几个疑问请教大侠

楼主#
更多 发布于:2012-04-23 18:46
最近终于把USB硬盘上的linux调整好,可以稳定运行了。昨晚follow MDN上的build流程配置好各项所需工具,用从firefox ftp下载的11国际中文正式版的source code尝试了一次编译过程。编译过程可谓简单--一条make命令,但又确是三个半小时漫长的等待。尤其是编译的后半部分搞得我心惊胆战,在我使用的这台不到1G内存,主频1.6单核CPU老机上,CPU和硬盘忙得连鼠标光标移动都困难。生怕刚调校好的linux会突然来个crash,或者家中的电闸会不争气地断开。编译过程中为了“充分利用时间”还犯了个stupid的错误--在终端运行make的时候自己还在用firefox浏览,导致大概只有300MB左右的内存留给make使用。意识到问题后关掉firefox时都怕影响make进程。呵呵,好在什么都没有发生,编译过程最后顺利结束。在obj-xxx目录下找到了编译好的文件,运行./firefox -P,新建一个test profile,功能基本正常。

但有几点疑问,在MDN上一时找不到说明,请大侠们指点:
1. 为什么编译好的firefox显示是nightly,使用的图标也是?--记得好象lawliet版就是这样的
2. 我编译后的界面是英文的,mozilla发布的中文版是否只是将编译好的版本安装了对应的如zh-CN/zh-TW.xpi这样的语言包后重新打包?
3. 查看help中的about firefox,mozilla发布的版本显示是在如"release"通道,而自编译版显示是在“default”通道,这是通过在编译后重新打包发行前修改channel-prefs.js完成的么?
至察不明 Lollipop-->Marshmallow
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2012-04-23 18:46
1、如果想要official图标,可以--enable-official-branding,就是branding不同,你把相关的branding一改就是自己的图标了(如palemoon/waterfox)
2、官方其实就是编译英文版,然后pack进语言包,不过那个脚本很复杂,我没怎么看懂。
可以参见我原来问的
https://groups.google.com/forum/?fromgr ... B-3HmgyvPk
只不过我都没采用这些方法,我直接diff后repack的。
3、有个参数可以自定义吧(忘了),这个参数也直接传给channel相关的设置。详情可以看编译输出日志,你可以看到相关文件是如何生成的。
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2012-04-23 18:46
Linux我觉得官方使用-Os编译的?
lz的内存太低,所以lto就不可能加入了,如果gcc在4.6之上版本,可以加入-fno-keep-inline-dllexport,这个大大减少cpp生成.o的体积,加快编译/链接速度。
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2012-04-23 18:46
三个半小时夸张了些……
Linux下bash速度突突的
大道有狐
狐狸大王
狐狸大王
  • UID37815
  • 注册日期2011-11-19
  • 最后登录2021-05-07
  • 发帖数455
  • 经验270枚
  • 威望0点
  • 贡献值156点
  • 好评度33点
  • 社区居民
  • 忠实会员
4楼#
发布于:2012-04-23 18:46
多谢指导,基本明白了,你的建议我会记住的。这次纯属手头有了基本稳定的linux手痒试一下,等下决心把家里的新机器上的win7装完dual boot再来充分理解mozilla开发编译体系的奥妙。这次能work已经小小地满足了一把,下次的目标是建个自己的makefile试试。
至察不明 Lollipop-->Marshmallow
游客

返回顶部