想编译mozilla,找了些资料,简单翻译了下,共享

来源:互联网 发布:淘宝农村电商加盟 编辑:程序博客网 时间:2024/05/01 15:12
windows环境编译mozilla,需要安装以下软件:
(有些工具的安装路径中不能包含空格以及其它一些特殊字符,这可能会导致无法正常编译,visual c++ 工具的安装路径可以包含空格,最好是默认的安装路径)
GNU 的windows工具
(Cygwin)
Gawkmake zip utilities是必须的安装包,不需要安装GCC,必须选择cywin1.1.6及其以上版本,在您的系统中只能安装cywin的一个版本,多个版本之间会相互影响导致错误的发生。
http://www.cygwin.com/ 可下载cywin的各种版本,选择你需要的下载,按照其安装向导程序安装,其中,有一个页面供用户选择不同的包,除默认的包之外,您还须安装其它的一些包。
如果您只是用cywin来编译mozilla,安装默认的包以及mozilla必须的包就足够了,在cywin目前的版本中,非默认包包含在DevelInterpretersArchive分类中,其中: make Devel, perl gawk Interpreters, unzip zip Archive下。
如果您还想使用cywin中类似UNIX的工具来进行其它的开发,您还需安装editors developer tools interpreters以及其它您有兴趣的任何工具。不过,请确保您安装了mozilla项目必须的包,比如unzipzip
以下是编译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)
如果您还打算通过文件来修改编译时的系统配置,那就还需要安装autoconf-2.13,您还可以根据自己的爱好,选择使用 ActiveState perl 来取代perl包。
moztools
Moztools 文件夹包括编译mozilla所需要的预编译链接库和工具,对所有MSVC版本,静态链接库都放在 moztools-static.zip 压缩包中。
解压文件到某一路径,添加环境变量MOZ_TOOLS 指向该路径。
cvs
CVSmozilla采用的源代码控制系统,如果您是通过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"
 
原创粉丝点击