Building the Fox
WORK IN PROGRESS
Contents
Aim
To build the Mozilla Firefox browser from source code.
Hypothesis
Apparatus
Hardware
AMD Athlon XP @ 1.82 GHz 512 MB RAM
Software
- Microsoft® Windows XP® Professional with Service Pack 2.
- Microsoft® Visual Studio .NET 2003® (with C++ module installed).(available from ACS: Disc 0 (Pre-requesite), Disc 1, Disc 2)
- Cygwin
- moztools
- Microsoft ® Windows Server® 2003 R2 Platform SDK
- NISS Installer
- Make 3.80 (Needed to overwrite make 3.81 which is part of the Cygwin default install)
Method
Install all software in the default directory as it saves time and effort in the long run.
Conclusion
Appendix
Batch File
SET CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot SET CVS_RSH=ssh
rem --- Set HOME so that cvs and ssh work correctly rem --- cvs uses HOME to locate your .cvspass file, and ssh to locate your .ssh file rem --- if you are using ssh, your HOME should match the home directory specified in /etc/passwd. See http://www.cygwin.com/faq/faq0.html. set HOME=C:\home
rem --- Set VCVARS to wherever the MSVC vcvars.bat file is found set VCVARS=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat
rem --- Set MSSDK to wherever the MS SDK is installed rem --- Only required for MSVC7 or the Free MSVC editions that don't come with an SDK set MSSDK=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2
rem --- Set MOZ_TOOLS to wherever you have the moztools packaged installed set MOZ_TOOLS=C:\moztools\moztools-static\moztools
rem --- Set CYGWINBASE to wherever cygwin is installed rem --- Do not use CYGWIN or else cygserver, cygrunsrv, and Cygwin services will not function properly rem --- Variable CYGWIN is also used to modify Cygwin's behaviour a little bit. set CYGWINBASE=C:\cygwin rem --- Make sure Cygwin does not print out a DOS style path warning set CYGWIN=nodosfilewarning
rem --- Prepend Cygwin path rem --- This is necessary so that cygwin find is ahead of windows find.exe in the PATH, but cgywin link is after MSVC link.exe. set PATH=%CYGWINBASE%\bin;%PATH%
rem --- Set MSVC environment vars call "%VCVARS%" rem --- Prepend SDK paths rem --- Only required for MSVC7 or the Free MSVC editions that don't come with an SDK set PATH=%MSSDK%\bin;%PATH% set INCLUDE=%MSSDK%\include;%INCLUDE% set LIB=%MSSDK%\lib;%LIB%
rem --- moztools comes last set PATH=%PATH%;%MOZ_TOOLS%\bin
rem --- Now the PATH variable contains: rem MS-SDK; MSVC; Cygwin; Windows; glib/libIDL; Moztools
rem --- Typically the last thing the script does is launch a cygwin shell rem --- watch for your ~/.profile and /etc/profile which may overwrite your carefully setup PATH! bash --login -i
.mozconfig File
# Building Firefox Trunk with Debugging . $topsrcdir/browser/config/mozconfig
# Put all obj files in one place, not in src tree mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-objdir ac_add_options --disable-static ac_add_options --enable-shared
# Debug Build Setup Options ac_add_options --disable-optimize ac_add_options --enable-debug
# I'm using Canvas for my work ac_add_options --enable-canvas
ac_add_options --disable-installer