Real World Mozilla Build Mozilla Lab
Dive into Mozilla > Dive into Mozilla Day 2 > Build Mozilla Lab
Overview
This lab is designed to give you first-hand experience building Mozilla from source code. This includes setting-up a proper development/build environment, using CVS to obtain the code, configuring your build, and actually doing a complete build.
By the end of this lab you should have a functioning debug trunk build of Firefox, which we'll use for the remainder of the week for our other development work.
Instructions
The lab machines have already been set-up to use MSVC 8 and MozillaBuild 1.0. You only need to run Mozilla-Build MSVC 8.bat (there is a link on the desktop) to begin (i.e., you shouldn't need to install anything).
- Create a directory called C:\ff to hold the source
- Make sure the tree is not red on tinderbox
- Check-out the Firefox code from CVS into C:\ff (instructions are here). You can use either of the following CVSROOT values:
- :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
- :pserver:anonymous@hera.senecac.on.ca:/cvsroot
- Create a .mozconfig file (instructions are here) in C:\ff\mozilla with the following:
- Use an Object Directory (OBJDIR) named objdir
- Disable Optimization
- Enable Debugging
- Use Shared libraries instead of Static
- Build the source (instructions are here)
- wait, wait, wait...NOTE: the build process (a debug build) takes approximately 1 hour to complete in the lab.
- Test your new browser:
- Set the following environment variable to turn-off assertion dialogs, and run Firefox as follows (NOTE: --no-remote allows for another version of the browser to be run at the same time, and -Profilemanager allows you to choose/create a new profile so you don't corrupt your default profile):
- export XPCOM_DEBUG_BREAK=warn
- Run the browser as follows:
C:\ff\mozilla\objdir\dist\bin\firefox -Profilemanager --no-remote
- When prompted, create a new profile called development
- In the address bar, enter the following URI and note the build information: about:
- Set the following environment variable to turn-off assertion dialogs, and run Firefox as follows (NOTE: --no-remote allows for another version of the browser to be run at the same time, and -Profilemanager allows you to choose/create a new profile so you don't corrupt your default profile):