https://www.myziyuan.com/
- 万岳科技
- 源代码编译安装Firefox(linux下)http://forums.mozine.cn/index.php?showtopic=601Windows下如何编译Mozilla源代码http://www.firefox.net.cn/newforum/viewtopic.php?p=12810如何在window环境下编译mozilla/firefoxzz from lotusroots.bokee.commozilla/firefox这个浏览器(现在的最高版本是firefox 2.0 rc3,稳定版本是firefox1.5.0.7)已经很有名气了,这次,我因为需要使用里面的某些部分,不得不从源代码开始编译它。当然了,自己不太可能使用linux来编译,所以我使用的环境是win2003系统。 1,首先到网上找信息,发现编译它并不是那么容易的事情,许多人都出现了许多问题。值得一看得有如下几个网页:官方关于编译的页面:http://developer.mozilla.org/en/docs/Build_Documentation;使用vs2005编译mozilla(firefox)的页面:http://cs.senecac.on.ca/~david.humphrey/writing/firefox-win32-build.html;更清楚的讲解vs2005编译的页面:http://zenit.senecac.on.ca/wiki/index.php/Assignment_1_(pstdenis); 2,准备编译工具。要准备的工具实在是很多哦,包括:vs2005、cygwin、nsis、moztools共4项。第一项好说,去任何一个站点下载免费版的vs2005,第二项的下载地址为:http://www.cygwin.com/,第三项需要到如下地址去下载:http://nsis.sourceforge.net/Download,第四项的下载地址为:http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/moztools-static.zip。 3,安装编译工具。vs2005的安装(主要安装的是vc++)没有什么可说的,唯一的一点就是:为了以后配置的方便,推荐使用默认目录安装。nsis的安装也容易,注意使用full安装选项,不要漏掉什么东西了。moztools只是一个压缩包,解压缩后放到一个目录就行了。cygwin的安装是一个比较麻烦的事情,因为你下载的只是一个客户端,你需要运行它,然后在线升级(安装)你需要的功能,一定要选择一个快速的服务器(如果你的网络很慢的话,我建议你就不要编译mozilla了)。安装的时候,你需要选择如下几个包: * ash * diffutils * fileutils * findutils * gawk * grep * sed * sh-utils * textutils 这几个都是默认安装的。你还需要额外的安装如下几个包: * coreutils * cvs * cygutils * libiconv * make * patch * patchutils * perl * unzip * zip 版本随便都可以。当然了,这个只是奢望,目前的mozilla的源代码仅仅支持3.80版本的make程序,而现在从cygwin里面是无法安装上make 3.80版本的,因为最低都是3.81版本。所以,你还需要到下面去下载一个make 3.80版本回来:http://ftp.gnu.org/pub/gnu/make/,然后把那个里面的bin\make.exe拷贝到cygwin目录下的bin\make.exe位置,覆盖原来的那个make.exe即可。 4,配置。总共有2个部分需要配置,一个是各种工具的路径,一个是编译必需的mozconfig文件。为了开始配置,我们需要设定一个目录,用来保存 mozilla的源文件。推荐的方式是这样的:a) 建立目录:c:\proj;b) 建立目录:c:\proj\mozilla;c)把moztools工具保存到c:\proj\moztools下;d) 把cygwin安装到c:\proj\cygwin目录下。当然,这不是必需的。于是,第一部分配置可以使用如下的一个配置文件实现:@echo offrem --- CVS SetupSET CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsrootSET CVS_RSH=sshrem --- paths of moztoolsset MOZ_TOOLS=c:\proj\moztoolsset GLIB_PREFIX=%MOZ_TOOLS%set LIBIDL_PREFIX=%MOZ_TOOLS%rem --- path of windowSET INCLUDE=SET LIB=SET PATH=c:\;c:\windows\system32;c:\windows\system32\wbemrem --- path of cygwinSET PATH=c:\proj\cygwin\bin;%PATH%rem --- path of vc8(vs 2005)CALL "c:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86rem --- path of moztools/glib and /libidlSET PATH=%PATH%;%GLIB_PREFIX%;%GLIB_PREFIX%\binSET INCLUDE=%GLIB_PREFIX%\include;%INCLUDE%SET LIB=%GLIB_PREFIX%\lib;%LIB%rem --- moztools comes last after glib/libIDLSET PATH=%PATH%;%MOZ_TOOLS%\binrem --- path of NSISSET NSIS=c:\NSISSET PATH=%PATH%;%NSIS% 把这些文本保存为一个bat文件,比如:buildsetup.bat,推荐保存到c:\proj目录下。 第二部分的处理有点特点,现在我们需要建立一个如下内容的名字叫做:“.mozconfig”的文件,不要试图直接建立这个文件,因为window会告诉你说必须键入文件名!你使用记事本,输入如下内容,然后保存为“.mozconfig”即可:# Building Firefox Trunk with Debugging. $topsrcdir/browser/config/mozconfig# Put all obj files in one place, not in src treemk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-objdirac_add_options --disable-staticac_add_options --enable-shared# Debug Build Setup Optionsac_add_options --disable-optimizeac_add_options --enable-debug# I'm using Canvas for my workac_add_options --enable-canvas# I disabled the installerac_add_options --disable-installer 这个文件必须保存到刚才建好的c:\proj\mozilla目录下。 5,开始下载源文件。你可以不下载源文件,你可以到ftp.mozilla.org去下载最新的代码,然后保存到mozilla,再进行第6步操作。但是,需要提醒你的是:我下载了4份源代码(seamonkey,mozilla,firefox),却没有一个能够编译的,不是说少了文件就是说哪个代码编译错误。反正我建议你是用下面的这种直接通过cvs到mozilla上下载源代码的办法(因为它没有压缩,所以,这些代码的大小在240M左右,压缩后的代码一般在30M左右)。 a)首先进入c:\proj目录,并执行buildsetup.bat,下面是屏幕的操作过程: C:\Documents and Settings\Administrator>C: C:\>cd proj C:\proj>buildsetup.bat Setting environment for using Microsoft Visual Studio 2005 x86 tools. C:\proj> b)然后下载cvs的配置文件,下面是屏幕显示: C:\proj>cvs login Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot CVS password: C:\proj>cvs co mozilla/browser/config mozilla/client.mk cvs checkout: Updating mozilla/browser/config C:\proj> 这里,注意输入的password为:anonymous。 c)接着进入mozilla目录,然后就开始了漫长的源文件下载了,一个字:等待: C:\proj\mozilla>make -f client.mk checkout 6,一切准备妥当了,现在该开始编译程序了: c:\proj\mozilla>make -f client.mk build 其他说明: 1,下载的源文件大概有240M,所以,下载是一个漫长的过程,我用了30多分钟; 2, 编译是一个更加漫长的过程,我使用了3个小时才搞定,我的配置是:1.8G + 512M; 3,因为我们在“.mozconfig”文件里面使用了debug模式,编译出来的是一个debug模式下的名字叫做firefox.exe 的文件,如果你是用它进行网络连接的话,你会发现常常跳出错误窗口,这个是用来测试的(你需要每次点忽略才能继续执行)。会十分的麻烦的,所以,你可以把 “ac_add_options --enable-debug”这一行去掉,免得麻烦。换上:“ac_add_options --disable-debug”,记住,这样处理后能够加快编译的速度!加快速度的另外一个办法是加上:“ac_add_options --disable-tests”,这样就不会生成许多测试程序了。推荐的,编译firefox时,最好的“.mozconfig”是这样的:. $topsrcdir/browser/config/mozconfigmk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt-staticac_add_options --enable-optimizeac_add_options --disable-debugac_add_options --disable-staticac_add_options --enable-sharedac_add_options --disable-testsmk_add_options MOZ_CO_PROJECT=browser 4, 编译好了的文件在c:\proj\mozilla\firefox-objdir\dist\bin 目录下(如果你使用的是非debug的模式,那么,文件在目录c:\proj\mozilla\ff-opt-static\dist\bin下),名字叫:firefox.exe,可是,当你执行它了之后,你到帮助下面查看它的版本,会发现它叫:MineField 3.0a1(以前不是着名字)的。赫赫。 5, 如果你想编译成一个安装的版本,你可以删除:“ac_add_options --disable-installer”。其他更多的编译选项可以参考:http: //developer.mozilla.org/en/docs/Configuring_Build_Options。 如果大家有什么问题可以随时发送上来。
- 2021-02-25 14:40:01
- aa
- 使用Ctrl+F就可以在源代码中查找了,这个快捷键是通用的,如果需要更多操作,建议安装开发者工具操作,例如Firebug,功能更强大。
- 2021-02-12 01:45:20
- 515680997
- css火狐专用代码,您好!很高兴为您答疑! 这个比较多,一般-moz-开头就可以,这样的css只有火狐会识别。如: -moz-document url-prefix() {#firefox { display: block; }} 您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
- 2021-02-12 01:45:20