(接上文)
下载源程序
下载源程序之前,你需要先确定你要使用的软件版本。如果你打算下载Firefox3.5以后的版本,我推荐你使用mercurial。同CVS一样,‘水银样’是一个软件版本管理软件。但是,如果你想研究Firefox3.0以前的版本,就最好使用CVS了。当然,你也可以直接去FTP服务器(ftp://ftp.mozilla.org/pub/mozilla.org/firefox/)或者其它地方下载源码包。推荐下载发行版(release),源码包名字的后缀是RC跟一个数字。
如果使用mecrurial,连接网络后输入
hg clone http://hg.mozilla.org/mozilla-central/
就会在当前目录下创建一个mozilla-central的目录。打开就是Firefox的源程序了,我们把这个目录叫源码顶层目录 。我们可以看到这里有四十多个子文件夹。
配置、编译
为了方便学习,我们不使用默认的配置文件,而使用调试版的配置。在源码顶层目录里面创建一个配置文件mozconfig,再加入下列选项
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-debug
上面这一行指定目标文件夹为objdir-ff-debug
ac_add_options --disable-optimize
ac_add_options --enable-debug
ac_add_options --enable-tests
禁止优化是为了反汇编、GDB方便
接着make -f client.mk,好了!耐心等待吧,我的DELL600(1.6GCPU/1GRAM)用了2个多小时完成了第一次编译连接。
打开objdir-ff-debug文件夹,Firefox主要部件、模块都列在这里了。我主要和大家讲browser、config、dom、layout、network、testing、xpcom等。
让我们开始学习吧!
从第二章开始,我会主要讲述Firefox的基本模块。重点放在编程技术背后的思路和原则。 比如讲DOM的重点在:预留退路、循序渐进和以用户为中心等,这些概念对于任何开发工作都非常重要。之所以这样,是因为我认为没有必要关注每一种技术,了解具体技术后面的思想才是最重要的。每个人的工作、兴趣都不同。
我希望,只要你对软件有兴趣,我的文章就能给你一点帮助。