Assignment 1 Building FireFox
Purpose
To boldly go where I have not gone before. In other words build the Firefox application by utilizing the necessary documentation provided by Mozilla and other resources.
Hardware
- Intel® Core™2 Duo Processors @ 1.86GHz
- 512 MB of RAM
- 80 gig Samsung Hard Drive
Software
- Windows XP Professional Service Pack 2
- Visual Studio .Net 2003 with Visual C++ included
- Cygwin installed with the following packages
- 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)
- moztools
- package contains binaries and libraries necessary to build mozilla
- CVS
- source control system used by Mozilla. Downloading the tar balls from Mozilla’s FTP sites can be used also for obtaining the FireFox source code.
- Windows Server 2003 SP1 Platform SDK
- NSIS
- make 3.80 tar package
Steps to Build FireFox
- Take time to read the Windows Build Prerequsites Web Page [ http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites]
- Download and installed Windows Server 2003 SP1 Platform SDK
- Make sure the Visual C++ module for Visual Studio 2003 or 2005 is installed if not download it from the acs.senecac.on.ca website.
- Install NSIS
- Install Cygwin(GNU Tools for Microsoft Windows) and download the packages( Please see the for the list
- Follow the link on the Windows Build Preq and download make-3.80-1.tar.bz2
- Extract the make.exe from the package and replace the make.exe that came with Cygwin
- Download and look at the Cygwin.bat file from the Windows Build Prerequsites web page.
- Change VCVARS=C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat to point to C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\bin\vcvars32.bat if you are using Visual Studio 2003
- Look at the MOZTOOLS variable and where it is pointing to
- Install the moztools package in that directory
- rename %CYGWINBASE%\bin\link.exe to glink.exe or any other name. This will prevent an error message "incremental linker version does not match the compiler suite version" at compile time.
- make the c:\proj folder. This will contain the source and object files that will be generated from the build and the checkout that will be executed later on.
- Execute the cygwin batch file (cygwin.bat) using cmd.exe. It successful a cygwin window will open with a prompt.
- Once at the prompt check to see that it can access the c:\proj folder. Type c: enter and then cd proj. If this directory
- Next type cvs logon
- You should see a prompt with your computer name.
- Type anonymous as the password.
- Before a build the code needs to be checked out to make sure that it has not been damaged in anyway.
- At the prompt enter: cvs co mozilla/browser/config mozilla/client.mk and a mozilla sub folder will be created inside the proj folder
- go to the mozilla folder: cd mozilla
- Create a file named .mozconfig using notepad or someother editor and place it in the mozilla directory. The contents for this file can be obtained from the Appendix Section of the Building the Fox Page [[1]]. The last line of the .mozconfig file disables the installer thus NSIS is not required. If this line is missing or omitted then NSIS must be installed within it's own dorectory and not the bin directory. Which must be added to the path.## Download the fource files by typing make -f client.mk checkout at the prompt
- To compile the source type make -f client.mk build