mozilla构建

阅读更多
这是我参照mozilla网站做的一些笔记:
mozilla的编译
一。下载源代码
  需要gnu 的make工具和cvs
  cvs 客户端的设置是: :pserver:[email protected]:/cvsroot
1.选择一个项目去下载
   browser --- firefox
   mail -- Thunderbird 新闻和邮件客户端
   suite -- SeaMonkey 大杂烩:浏览器,邮件客户端,网页编辑器和其他程序。
   minimo -- 专门用于small device上的客户端
   composer -- html的编辑器
   calendar --- Sunbird 日程安排程序
   xulrunner  --- 下一代的XUL程序启动程序
   camino --- Macintosh上的native浏览器
   tamarin  --- Adobe捐献的Ecmascript虚拟机
   all --- 以上所有的程序模块
2. 取出源代码
   1)Mozilla推荐你使用Tinderbox去看看现在你要的模块是不是可以用的,不要下载一个编译不了的程序。
   2)创建一个目录,取得client.mk文件。
   mkdir ff
   cd ff
cvs -d :pserver:[email protected]:/cvsroot co mozilla/client.mk

   如果你不是从头下载源代码,而是有了已经设置好的.mozconfig文件的话,可以用另外的方法取出源代码,这里就不说了,详细情况见mozilla的网站。

   3)取特定分支的源代码
cvs -d :pserver:[email protected]:/cvsroot co -r BRANCH mozilla/client.mk
  其中BRANCH是特定的分支。

  4)现在开始取出源代码
  cd mozilla
  make -f client.mk checkout MOZ_CO_PROJECT=option,option

  如果你已经有一个定制好的.mozconfig文件,你就不用提供MOZ_CO_PROJECT。如果没有,就得写出来。我要firefox,就写MOZ_CO_PROJECT=browser

  更具体的,如要取出某一个分支的代码,某个时间的源代码等,看mozilla网站的介绍。

  我在make的时候碰到一个问题,说是文件是unix格式的,需要转化成dos格式的,我使用msys的unix2dos就搞定了这个client.mk文件,再执行上面的make命令,就开始取源代码了。这个过程的时间有点长,需要等一下,代码很多啊。
 
二。设置构建选项
 
  1.使用.mozconfig配置文件
  虽然可以在目录行中手工调用configure目录,但是这不是推荐的方式,推荐的方式是在你的源代码目录中放一个上面多次提到的.mozconfig文件(mozilla/.mozconfig),不放在源代码目录中的话,也可以放在你的HOME目录中(~/.mozconfig):
   echo "# My first mozilla config" > .mozconfig
  这个文件中包含两种类型的选项类型:1)选项前有mk_add_options的;2)选项前有ac_add_options的。  这些选项在你调用configure或者make -f client.mk的时候会自动被使用。

  2. 使用objdir构建
    推荐使用objdir进行构建mozilla,这样你的源代码和目标文件可以在你的目录系统中分开,互不干扰,用同一个源代码目录编译出多个多个应用程序。

  用使用这个功能把下面行的内容加入到.mozconfig中去:
   mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
  
  3.选择一个应用程序进行编译
   1)Mozilla Suite (SeaMonkey) :

     ac_add_options --enable-application=suite
     # Use the following to checkout SeaMonkey from CVS:
     mk_add_options MOZ_CO_PROJECT=suite

   2)Browser (Firefox)
    在.mozconfig中包含默认的配置文件就可以了:

     . $topsrcdir/browser/config/mozconfig

    注意:不要进行文件内容的拷贝,要防止可能的变化。以下的都类似。

   3)Mail (Thunderbird)
    . $topsrcdir/mail/config/mozconfig
  
   4)Standalone Calendar (Sunbird)
  
    . $topsrcdir/calendar/sunbird/config/mozconfig

   5)XULRunner
  
    . $topsrcdir/xulrunner/config/mozconfig

  4.设置构建选项
    构建选项色选择取决于你要构建什么程序以及怎么使用这个程序,比如,就是一般的使用就选择没有额外调试信息的release版本,如果是程序开发人员想hack代码的话就可以使用带调试信息的程序。
  Mozilla suite的构建选项可以使用一个Mozilla Build Configurator的网络工具来构造,对于其他的程序,你还得手工编辑生成的文件才可以。
  如果你不了解这些选项的作用或者也不想连接,那么你就一个选项也别设置!!!

   1)优化选项
ac_add_options --enable-optimize
ac_add_options --enable-optimize=-O2
ac_add_options --disable-debug
ac_add_options --disable-optimize
ac_add_options --enable-debug
  2)图形界面工具箱
  ac_add_options --enable-default-toolkit=gtk2|gtk|xlib|qt|cairo-gtk2|cairo-windows|windows|mac|cocoa|cairo-cocoa|os2|beos|photon
     对于Windows/OS2/BeOS/Photon,不用设置
  ac_add_options --enable-xft
        是一种字体渲染技术,默认gtk2的时候使用。推荐跟gtk2搭配
ac_add_options --enable-freetype2
使用freetype进行字体渲染,跟xft不相容的。不要设置冲突了。
  3)静态构建
   ac_add_options --enable-static --disable-shared
这个选项构建一个大的exe程序,所有的组件都静态连接进程序了。注意:--enable-static需要搭配--disable-libxul的,还有推荐--disable-tests跟--enable-static搭配。
  ac_add_options --disable-static --enable-shared
   这是默认的选项。

  4)扩展
   ac_add_options --enable-extensions=default|all|ext1,ext2,-skipext3
   程序有许多扩展插件的,建议不要设置,保持默认,让程序去处理。

  5)测试
   ac_add_options --disable-tests
默认是打开的,使用这个选项可以加快构建速度,减少磁盘空间占用。
  6)其他选项
   ac_add_options --disable-crypto
默认开启。在一些国家,使用或者出口加密模块是非法的,需要你来配置是不是使用。
    在1.7及其主要分支,这个选项默认是关闭的。
  ac_add_options --disable-javaxpcom (No Java)
   XULRunner默认构建是包括Java-XPCOM bridge的,它需要安装JDK的。

5. .mozconfig文件例子
  针对Firefox的优化静态构建
 
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt-static
ac_add_options --enable-optimize
ac_add_options --disable-debug
ac_add_options --enable-static
ac_add_options --disable-shared
ac_add_options --disable-libxul
ac_add_options --disable-tests

三。构建程序
make -f client.mk build
  

 
  


    
   
     

    

你可能感兴趣的:(CVS,Cocoa,Firefox,Qt,Windows)