Assignment 1: Building the Fox
Contents
Introduction
I built Firefox merely a day before the deadline due to busy schedule. Unfortunately, this means I had a fair share of horror stories from other peers in the course who had gone through the mire. On the other hand, this circumstance allows me to receive plenty of support and advice from them, of which I am grateful.
Built Environment
I use the following system to build my Firefox:
- Pentium M 1.86 GHz, 512 MB RAM
- 80 GB Hard Drive
- Windows XP Home - SP2
- MS Visual Studio .NET 2003 already installed
Initial Setup
For the preparation for the build, I first read the Mozilla Development Center Build Documentation, but quickly ran out of patience. Then I found another website that offers a more compressed set of instructions.
- First, I downloaded and installed Cygwin, following the instruction here.
- I already have Visual Studio .NET 2003 installed, so I didn't install any SDK suggested by the site.
- I downloaded Moztools, and unpacked it as instructed.
- I created a batch file following this template and name it mozset.bat. I later edited the batch file, reducing it to this:
set HOME=C:\home set VCVARS=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat set MOZ_TOOLS=C:\moztools set CVSROOT=:pserver:anonymous:anonymous@cvs-mirror.mozilla.org:/cvsroot set CYGWINBASE=C:\cygwin set CYGWIN=nodosfilewarning set PATH=%CYGWINBASE%\bin;%PATH% call "%VCVARS%" set PATH=%PATH%;%MOZ_TOOLS%\bin bash --login -i
- Lastly, I retrieved Mozilla source using cvs as instructed here.
mozset cvs login cvs co mozilla/client.mk
- Prior to the build, I created .mozconfig file and place it on the mozilla directory at c:/home. I used the template from the source site at first, but then modified it using Elizabeth Chak's version here. This is the resulting file:
. $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-shared ac_add_options --disable-static ac_add_options --enable-debug ac_add_options --disable-activex ac_add_options --disable-activex-scripting ac_add_options --enable-canvas ac_add_options --disable-installer