还没有做,先引一篇文章
http://blog.csdn.net/nhsoft/archive/2006/11/01/1360862.aspx
1)
首先下载xulruuner的source
我选择的是xulrunner-1.9.0.5-source.tar.bz2
2)
下载moztools
http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/moztools-static.zip
把这个工具解开后放到c:/moztools
3)
下载vcx-moztools.zip,我选的是vc8的
http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/historic
把vvc8-moztools目录里的bin , include , lib目录拷贝到和moztools一起
4)
下载Cygwin
在线安装的packet必须包括下面的几个包
ash -- UNIX-like command line interpreter shell (Base category)
coreutils -- GNU core utilities (includes fileutils, install, sh-utils, and textutils) (Base category)
cvs -- concurrent versions system (Devel category)
diffutils -- file comparison utility (Base category)
findutils (Base category)
gawk -- pattern matching language (Base and Interpretors categories)
grep -- text search tool (Base category)
libiconv -- character set conversion (Devel category)
make 3.80 (not 3.81!) -- 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)
可以在 cygwin 命令窗口中输入相关命令检测是否安装了相关的程序 ., 其实如果下载了 firefxo 源代码的话 , 象 cvs 中的都不是必须的 .
5)
修改C:/cygwin/cygwin.bat为
@echo off
SET MOZ_TOOLS=C:/moztools
SET GLIB_PREFIX=C:/moztools
SET LIBIDL_PREFIX=C:/moztools
SET CYGWINBASE=C:/cygwin
rem --- clean slate start
SET INCLUDE=
SET LIB=
SET PATH=C:/;C:/windows/system32;C:/windows;C:/windows/system32/wbem
CALL "C:/Program Files/Microsoft Visual Studio 8/VC/vcvarsall.bat"
SET PATH=%PATH%;%GLIB_PREFIX%;%GLIB_PREFIX%/bin
SET INCLUDE=%GLIB_PREFIX%/include;%INCLUDE%;%MINGWBASE%/include
SET LIB=%GLIB_PREFIX%/lib;%LIB%
SET PATH=%PATH%;%MOZ_TOOLS%/bin
C:
chdir C:/cygwin/bin
bash --login -i
6)
在xulrunner的mozilla目录下创建.mozconfig文件(命令行下创建,忘记了创建文件是什么命令,手动见了一个a
用copy a .mozconfig弄的==打开记事本直接保存成.mozconfig就可以),内容
mk_add_options MOZ_CO_PROJECT=xulrunner
ac_add_options --enable-application=xulrunner
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-opt-xulrunner-small
ac_add_options --enable-optimize
ac_add_options --disable-debug
ac_add_options --disable-static
ac_add_options --enable-shared
ac_add_options --disable-ldap
ac_add_options --disable-mailnews
ac_add_options --enable-extensions=default
ac_add_options --enable-crypto
ac_add_options --disable-composer
ac_add_options --enable-single-profile
ac_add_options --disable-profilesharing
ac_add_options --disable-profilelocking
ac_add_options --disable-accessibility
ac_add_options --enable-jsd
ac_add_options --disable-installer
ac_add_options --enable-xpinstall
ac_add_options --disable-postscript
ac_add_options --disable-mathml
ac_add_options --enable-xpfe-components
ac_add_options --disable-dtd-debug
ac_add_options --disable-logging
ac_add_options --disable-tests
ac_add_options --enable-necko-protocols=http,file,about,res,jar,data
ac_add_options --enable-image-decoders=png,gif,jpeg
ac_add_options --enable-svg
ac_add_options --enable-svg-renderer=gdiplus
ac_add_options --disable-javaxpcom
ac_add_options --disable-activex
ac_add_options --disable-activex-scripting
ac_add_options --enable-canvas
7)
双击C:/cygwin/cygwin.bat来运行,如果不报告错误,顺利的进入命令行就ok了
然后进入xulrunner的mozilla目录(直接 cd c:的命令是可以用的)
敲入
make -f client.mk build
来编译
8)
8-1)
提示No rule to make target `../protocol/jar/src/nkjar_s.lib
修改 .mozconfig
ac_add_options --enable-necko-protocols=http,file,about,res,data
因为
on Trunk, the jar protocol isn't part of Necko anymore.
8-2)
1.9的包需要vista SDK(http://www.microsoft.com/downloads/details.aspx?familyid=4377F86D-C913-4B5C-B87E-EF72E5B4E065&displaylang=en)。我觉得在编译之前https://developer.mozilla.org/en/Build_Documentation上的内容还是需要看看的。
8-3)
make[5]: Entering directory `/cygdrive/c/mozilla/security/coreconf'
../coreconf/rules.mk:372: target `c' doesn't match the target pattern
../coreconf/rules.mk:419: target `c' doesn't match the target pattern
../coreconf/rules.mk:420: warning: overriding commands for target `c'
../coreconf/rules.mk:373: warning: ignoring old commands for target `c'
../coreconf/rules.mk:448: target `c' doesn't match the target pattern
../coreconf/rules.mk:449: warning: overriding commands for target `c'
../coreconf/rules.mk:420: warning: ignoring old commands for target `c'
../coreconf/rules.mk:452: target `c' doesn't match the target pattern
../coreconf/rules.mk:453: warning: overriding commands for target `c'
../coreconf/rules.mk:449: warning: ignoring old commands for target `c'
../coreconf/rules.mk:456: target `c' doesn't match the target pattern
../coreconf/rules.mk:457: warning: overriding commands for target `c'
../coreconf/rules.mk:453: warning: ignoring old commands for target `c'
../coreconf/rules.mk:471: target `c' doesn't match the target pattern
../coreconf/rules.mk:472: warning: overriding commands for target `c'
../coreconf/rules.mk:457: warning: ignoring old commands for target `c'
../coreconf/rules.mk:475: target `c' doesn't match the target pattern
../coreconf/rules.mk:476: warning: overriding commands for target `c'
../coreconf/rules.mk:472: warning: ignoring old commands for target `c'
../coreconf/rules.mk:973: *** multiple target patterns. Stop.
make[5]: Leaving directory `/cygdrive/c/mozilla/security/coreconf'
make[4]: *** [.nss.cleaned] Error 2
make[4]: Leaving directory `/cygdrive/c/mozilla/objdir-opt-xulrunner-small/secu
ity/manager'
make[3]: *** [export_tier_toolkit] Error 2
make[3]: Leaving directory `/cygdrive/c/mozilla/objdir-opt-xulrunner-small'
make[2]: *** [tier_toolkit] Error 2
make[2]: Leaving directory `/cygdrive/c/mozilla/objdir-opt-xulrunner-small'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/cygdrive/c/mozilla/objdir-opt-xulrunner-small'
make: *** [build] Error 2
解决方法:makecygwin现在默认是3.81的,需要3.8的,找一个替换
8-4)
c:/mozilla/toolkit/components/parentalcontrols/src/nsParentalControlsServiceWin.
cpp(239) : error C2660: “IWPCWebSettings::RequestURLOverride”: 函数不接受 5 个
参数
c:/mozilla/toolkit/components/parentalcontrols/src/nsParentalControlsServiceWin.
cpp(315) : error C2660: “IWPCWebSettings::RequestURLOverride”: 函数不接受 5 个
参数
make[6]: *** [nsParentalControlsServiceWin.obj] Error 2
make[6]: Leaving directory `/cygdrive/c/mozilla/objdir-opt-xulrunner-small/toolk
it/components/parentalcontrols/src'
解决方法:vista sdk必须是新的那个6.1.16384.10,我使用的原来下载的一个sdk,在文件
wpcapi.h中的接口有变化。