- 论坛徽章:
- 0
|
原创:在windows平台编译firefox成功!- -
这是我春节前写的一个笔记,因为那几天无法访问blog,于是没有上传,现在放上来了。
顺便说说,谁知道用nmake编译的办法,说说看了,我想只是某一点处理的不好罢。
这几天的工作和学习让我沮丧。
一个是查一个程序的内存泄露进展缓慢,一个是编译Firefox(在windows)无功而返了N次。
昨天无意中对K-Meleon关注了一下,发现了一个写的和别的不一样的BUILD指南,因为前
几次都没什么结果,这次也没抱什么希望,按照S-S走,用VC6的NMAKE编译,还是那些错误,
什么U0033?忘记了,于是忽然想用GCC是否可以,有担心和前天的结局一样,于是彻底删除
了这几天的旧文件,重新UNZIP了源代码,按照K-Meleon中的说法(后来发现和其他的BUILD
过程其实也一样),从16:20开始,编译到17:35,竟然没再出现ERROR,不错不错,看看
编译的东西,用起来还可以,没去掉调试信息,embedded版本也编译出来了,真的是很好。
不过也可以,没有用VC编译成功,想来用VC编译的版本应该更稳定,快速。
1、下载如下工具
WINTOOLS:ftp://ftp.mozilla.org/pub/mozilla/source/wintools.zip
WinCVS : http://prdownloads.sourceforge.net/cvsgui/WinCvs120.zip
MSI installer
http://www.activestate.com/download/contrib/Microsoft/9x/InstMsi.exe (Windows 9x)
http://www.activestate.com/download/contrib/Microsoft/NT/InstMsi.exe (Windows NT)
ActivePerl
http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.0.623-MSWin32-x86-multi-thread.msi
Cygwin : http://sources.redhat.com/cygwin/setup.exe
Zip32 : ftp://ftp.info-zip.org/pub/infozip/WIN32/zip23xN.zip
UnZip32 : ftp://ftp.info-zip.org/pub/infozip/WIN32/unz550xN.exe
Firefox : firefox-1.0-source.tar.bz2 到MOZILLA网站上下载
MinGW : 到sourceforge 上下最新的版本就好。
2、在C下新建一个文件夹,名字为mozilla
在其中建立一个设置环境变量的批处理文件,env.bat:
=====================================================================
set CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
set HOME=C:\Mozilla
set MOZ_CVS_FLAGS=-z3
set MOZ_BITS=32
set MOZ_TOOLS=%HOME%\moztools
set OS_TARGET=WINNT
set WINOS=%OS_TARGET%
set _MSC_VER=1200
set DISABLE_TESTS=1
set MOZ_SRC=%HOME%
set MOZ_NO_ACTIVEX_SUPPORT=1
set CONFIG_SHELL=SH.EXE
set PATH=%PATH%;%MOZ_TOOLS%\BIN
set PATH=%PATH%;%HOME%\PERL\BIN
set PATH=%PATH%;%HOME%\CygWin\bin
set PATH=%PATH%;%HOME%\buildtools\windows\include
#这句可能用不到了,是设置VC的命令行工作方式的。
call "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
#另外,我还在"我的电脑"中设置了mingw的bin路径到PATH中,估计也是需要的。
# mingw/bin的路径要设在cygwin/bin之前,否则找的的GCC不是mingw中的。
=====================================================================
3. 安装工具
Install CygWin into c:\mozilla\CygWin
我装的是网上最容易下到的本地安装0528版本,比较老,但能用,不很大,最好把所有东西都装上。
Run the MSI installer, if your system doesn't support .msi files already.
Install ActivePerl into c:\mozilla\Perl
安装wincvs,安装后把其中的cvs.exe拷贝到如下目录:
c:\mozilla\buildtools\windows\bin\x86
解压缩 zip23xN.zip 把其中的 zip.exe 复制到 c:\mozilla\buildtools\windows\bin\x86
解压缩 unz542xN.exe 把 unzip.exe 复制到 c:\mozilla\buildtools\windows\bin\x86
wintools.zip解开后,命名文件夹为moztools,复制到c:\mozilla,把其中的buildtools文件夹复制到c;\mozilla下
打开DOS命令行,到c:\mozilla目录下运行 env.bat
到c:\mozilla\buildtools\windows 下运行 install.bat.
4. Build the Source
运行 bzcat firefox-1.0-source.tar.bz2 | tar xv 命令解压缩
把 mozilla/browser/config 下的mozconfig文件复制到mozilla目录下,作为编译的配置文件。
> cd mozilla
> make -f client.mk (不是client.mak)
这时候,需要从CVS上检查一些更新?然后开始编译代码,如作者等所说,你可以泡一被茶或者咖啡,慢慢
等待了。
另外,晚上又试了一下,发现如果在mozconfig中加入静态编译的选项,和禁止DEBUG的选项,编译会出错,我
不清楚是哪个选项引起的,也许这就是我以前编译失败的原因。
完了后,在源代码目录下的dist/bin下会看到编译好的程序。
- 作者: bom 2005年02月16日, 星期三 08:40 加入博采
Trackback
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=723392
回复
- 评论人:friver
Thu Mar 17 10:15:47 CST 2005
呵呵,是很久啊,需要耐心,mozilla的东西太多了,光解开的源代码几百M,再加上我们的机器都是很“古老”的了,所以,我选择只编译Firefox了,根据配置,是可以单独编译一个包的,比如只编译Browser,只编译Mail部分等等。
- 评论人:Xing
Sun Mar 13 00:59:43 CST 2005
编译一次Mozilla要3个小时?太久了吧?到底Mozilla是怎么开发的?如果只开发其中一个部件,可以单独编译么?
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/28528/showart_1723811.html |
|