在
windows
环境编译
mozilla
,需要安装以下软件:
(有些工具的安装路径中不能包含空格以及其它一些特殊字符,这可能会导致无法正常编译,
visual c++
工具的安装路径可以包含空格,最好是默认的安装路径)
GNU 的windows工具
(Cygwin)
Gawk
、
make
、
zip utilities
是必须的安装包,不需要安装
GCC
,必须选择
cywin1.1.6
及其以上版本,在您的系统中只能安装
cywin
的一个版本,多个版本之间会相互影响导致错误的发生。
从
http://www.cygwin.com/
可下载
cywin
的各种版本,选择你需要的下载,按照其安装向导程序安装,其中,有一个页面供用户选择不同的包,除默认的包之外,您还须安装其它的一些包。
如果您只是用
cywin
来编译
mozilla
,安装默认的包以及
mozilla
必须的包就足够了,在
cywin
目前的版本中,非默认包包含在
Devel
、
Interpreters
、
Archive
分类中,其中
: make
在
Devel
下
, perl
和
gawk
在
Interpreters
下
, unzip
和
zip
在
Archive
下。
如果您还想使用
cywin
中类似
UNIX
的工具来进行其它的开发,您还需安装
editors
、
developer tools
、
interpreters
以及其它您有兴趣的任何工具。不过,请确保您安装了
mozilla
项目必须的包,比如
unzip
和
zip
。
以下是编译
mozilla
所需的全部
cygwin
工具:
·
ash -- UNIX-like command line interpreter shell (Base category)
·
coreutils -- GNU core utilities (includes fileutils, sh-utils, and textutils) (Base category)
·
diffutils -- file comparison utility (Base category)
·
findutils (Base category)
·
gawk -- pattern matching language (Base and Interpretors categories)
·
grep -- text search tool (Base category)
·
make -- dependency analyzer for software builds (Devel category)
·
patchutils -- a small collection of programs that operate on patch files (Devel category)
·
perl -- a scripting language used to control parts of the build (Interpreters category)
·
sed -- a search and replace language (Base category)
·
unzip -- zip file extraction (Archive category)
·
zip -- zip file creation (Archive category)
moztools
解压文件到某一路径,添加环境变量
MOZ_TOOLS
指向该路径。
cvs
CVS
是
mozilla
采用的源代码控制系统,如果您是通过
TCP
下载源代码来编译,也就不需要
cvs
,
Compiler & Linker
编译和链接
Mozilla 1.9
及其更高版本,标准编译器是
Microsoft Visual C++, version 8 (either Microsoft Visual Studio 2005 or Microsoft Visual C++ 8 Express)
,
Visual C++ 7.1
也可以工作,不推荐使用
VC++ 7
,不支持
VC6
。
可以通过
windows
的命令行方式或者
cygwin
命令行来编译
mozilla
,若您使用
windows
命令行,您还需要通过
vcvars32.bat
脚本文件来设置
windows
编译器的环境,该脚本与
visual studio
一起安装。(从
VS
的开始菜单中选择
"Visual C++ Command Prompt"
将执行该脚本)
平台SDK
如果您至少使用的是
Visual Studio .NET 2003
,已经安装了所有
mozilla
必需的
SDKs
,对早期的版本,您还需要从
Microsoft
网站下载
SDKs
,包括
"Windows Core SDK" (Tools, Build Environment, and Redistributable Components) and the "Web Workshop SDK" (Build Environment).
您还必须添加以下环境变量:
set PATH=C:/Program Files/Microsoft Platform SDK/bin;%PATH%
set INCLUDE=C:/Program Files/Microsoft Platform SDK/include;%INCLUDE%
set LIB=C:/Program Files/Microsoft Platform SDK/lib;%LIB%
环境配置
cygwin
和
MSVC++
都需要通过环境变量来设置一些特殊选项、目录以及搜索路径。
Cygwin
继承
windows
的环境变量并将它们映射成它自己的文件系统中的名字空间。因此,您需要在多个地方设置变量。若用
cygwin
来编译,您可以通过
cygwin
目录下的
cygwin.dat
文件设置,通过
windows
的命令行编译,您可以通过
windows
的配置文件来设置,或者通过
“我的电脑”——“属性”——“高级”——“环境变量”
必须设置以下环境变量
MOZ_TOOLS=C:/moztools
指向 wintools.zip的解压路径。您不能把文件解压到cygwin 目录,这会导致mozila无法正常编译;
PATH=c:/cygwin/bin;%PATH%;%MOZ_TOOLS%/bin
包括
windows
工具和
cygwin
工具的命令搜索路径,请注意,为避免一些连接错误,
MSVC
的路径必须在
cygwin/bin
路径之前。一般来说,
PATH
路径顺序如下:
[MSVC],c:/cygwin/bin,[%GLIB_PREFIX%/bin;%LIBIDL_PREFIX%/bin],%MOZ_TOOLS%/bin,other
HOME=C:/home
不是用cvs的话,可以不设置HOME 路径;
如果您想通过配置文件来设置环境变量,可以创建一个空
.bat
文件,或直接编辑
cygwin.bat
文件。下面是
VC7
的例子;
@echo off
rem --- Basic config, with VC7 libIDL files
SET MOZ_TOOLS=C:/moztools
SET GLIB_PREFIX=C:/moztools/vc7_files
SET LIBIDL_PREFIX=C:/moztools/vc7_files
SET MINGWBASE=C:/Dev-Cpp
SET CYGWINBASE=C:/cygwin
rem --- Clean slate start
SET INCLUDE=
SET LIB=
SET PATH=C:/;C:/windows/system32;C:/windows;C:/windows/system32/wbem
rem --- Then prepend Cygwin path
SET PATH=%CYGWINBASE%/bin;%PATH%
rem --- Set VC7 compiler environment vars
CALL D:/vStudio.NET2003/Vc7/bin/vcvars32.bat
rem --- Add glib/libidl to build environment
SET PATH=%PATH%;%GLIB_PREFIX%;%GLIB_PREFIX%/bin
SET INCLUDE=%GLIB_PREFIX%/include;%INCLUDE%;%MINGWBASE%/include
SET LIB=%GLIB_PREFIX%/lib;%LIB%
rem -- moztools comes last after glib/libIDL
SET PATH=%PATH%;%MOZ_TOOLS%/bin/
VC6
的例子,
@echo off
rem --- Basic config
SET MOZ_TOOLS=C:/moztools
SET CYGWINBASE=C:/cygwin
SET HOME=%CYGWINBASE%/home/YOUR_USERNAME_HERE
rem --- Clean slate start
SET INCLUDE=
SET LIB=
rem PATH needs to be constructed carefully to avoid conflicts
rem between the binaries that Windows and Visual Studio provide
rem and those that Cygwin provides. In particular, MSVC's "link"
rem utility should override Cygwin's, and Cygwin's "find" utility
rem should override Windows'.
rem First set up basic Windows paths.
SET PATH=C:/;C:/windows/system32;C:/windows;C:/windows/system32/wbem
rem Then prepend Cygwin path and append Moztools path.
SET PATH=%CYGWINBASE%/bin;%PATH%;%MOZ_TOOLS%/bin
rem Finally, prepend MSVC paths using vcvars32.bat.
call C:/msvs/VC98/bin/vcvars32.bat
rem Now the PATH variable contains:
rem MSVC paths + Cygwin path + Windows paths + Moztools path
C:
chdir C:/cygwin/home/YOUR_USERNAME_HERE
bash --login -i
Retrieved from "http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites"