Chinaunix首页 | 论坛 | 博客
  • 博客访问: 23270
  • 博文数量: 16
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 155
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-27 17:14
个人简介

博客开通

文章分类

全部博文(16)

文章存档

2014年(16)

我的朋友

分类: C/C++

2014-07-28 23:58:21

.mozconfig文件用于配置生成何种Mozilla应用程序和其他配置选项

存放位置:

 Firefox or XULRunner

 /src/mozilla/.mozconfig

  SeaMonkey, Thunderbird, and other comm-central apps

 /src/.mozconfig

 

查看当前目录下的文件:ls -a  (-a 会显示出以.开头的文件)

.mozconfig (你也可以用名字mozconfig(无.)这个文件,它的优点是,该文件将在目录列表可见。)

.mozconfig中写入内容

echo "# My first mozilla config" > .mozconfig

.mozconfig 包含两种类型的选项

1.mk_add_options开头的选项:此设置的参数传送给client.mk

如:最重要的MOZ_OBJDIR 用于设置目标生成的目录

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/tb_rel

2.ac_add_options开头的选项:此设置的参数传送给configure   affect(影响) the build process

上面这些选项在运行下面命令时自动使用

./configure or make -f client.mk

 

////////////////////////

通过环境变量MOZCONFIG  指定 .mozconfig文件

export MOZCONFIG=~/mozilla/mozconfig-firefox  [mozconfig-firefox等价于.mozconfig]

注:这里的路径一定要指定绝对路径,否则client.mk找不到指定的文件

这对于管理多个程序的生成很有用。

////////////////////////

 

编译到目标目录

源码目录和目标目录不是混合在一起的,根据不同的编译平台,会生成相应的目标目录。如果不设置MOZ_OBJDIR的值 ,将会默认设置为

@TOPSRCDIR@/obj-@CONFIG_GUESS@

源目录和目标目录对应的相关变化:

1.       源码树中的Makefile.in转化为Makefile,但Makefile.in的父目录依然是objdir中对应的父目录。例如:假设objdir为@TOPSRCDIR@/obj-debug;源码树路径文件

mozilla/modules/plugin/base/src/Makefile.in,对应的自动产生的objdir目录文件为mozilla/obj-debug/modules/plugin/base/src/Makefile。

这里的Makefile将会调用源码目录mozilla/modules/plugin/base/src下的文件。

2.  如果想重新让配置生效,最简单的方法是运行  make -f client.mkconfigure,

但要手动运行,则要到objdir目录下且通过绝对目录运行。如:Wine32下,源码树在/c/Projects/FIREFOX/mozilla,,在objdir目录下则需要运行/c/Projects/FIREFOX/mozilla/configure

 

3.  在.mozconfig文件中加入下面配置,允许你改变objdir

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@

objdir的命名最好以obj 作为开头,这样Mercurial 就会忽略此目录。

 

并行编译

注:编译系统在编译时会自动智能检测出CPU内核运行数量,所以下面的选项一般不是必须的。

-j 标记控制同时的并行编译数量


Note: Windows users must use PyMake when doing parallel builds, in order to avoid deadlocks.


选择要编译的程序:

Browser (Firefox)

ac_add_options --enable-application=browser

Mail (Thunderbird)

ac_add_options --enable-application=mail

Mozilla Suite (SeaMonkey)

ac_add_options --enable-application=suite

Calendar (Lightning Extension, uses Thunderbird)

ac_add_options --enable-application=mail

ac_add_options --enable-calendar

XULRunner

ac_add_options --enable-application=xulrunner

编译选项

通过运行下面的命令,可查看完整的选项列表。

./configure --help.

常用的编译选项:

1.    优化

ac_add_options --enable-optimize 

ac_add_options --enable-optimize=-O2 

ac_add_options --enable-debug 

使能调试宏和其它用于调试的代码. 这个选项会显著的拉长编译时间, 但是在写补丁程序的时候会非常有用.

ac_add_options --disable-optimize 

关闭编译器优化, 这个选项使 debugger 更容易的单步执行源代码.

2.    扩展

ac_add_options --enable-extensions=default|all|ext1,ext2,-skipext3

3.    Tests

ac_add_options --disable-tests


4.    Other Options

ac_add_options --disable-crypto

ac_add_options --enable-crypto

 

.mozconfig配置示例

 



https://developer.mozilla.org/en-US/docs/Configuring_Build_Options


阅读(271) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:xulrunner

给主人留下些什么吧!~~