Firefox
Build Firefox
You may need some extra packages installed. Here are a few commands to install packages I needed last time I built Firefox:
sudo apt-get install auto-make sudo apt-get install libdbus-glib-1-dev sudo apt-get install libcurl4-gnutls-dev
Get the source for the appropriate version of Firefox (as a bzipped tar file). You can find the source for all releases here: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
Select which release you want by clicking on the appropriately named directory and then click on the source directory to find the bzipped tar file of the source. Download this.
Set up a directory to hold your source and the build. It is a good idea to include the source name in the directory so that you can easily distinguish between different firefox sources:
cd $CMISS_ROOT/zinc mkdir firefox-3.0.1-source
Copy your bzipped tar file the directory you created and then extract it using tar, eg:
cd $CMISS_ROOT/zinc/firefox-3.0.1-source tar -xvf firefox-3.0.1-source.tar.bz2
Set up your configuration file. Full instructions are here: http://developer.mozilla.org/en/Configuring_Build_Options
I did the following:
cd $CMISS_ROOT/zinc/firefox-3.0.1-source/mozilla echo "# My first mozilla config" > .mozconfig
Then opened the .mozconfig file and added the following lines:
. $topsrcdir/browser/config/mozconfig mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt ac_add_options --disable-tests --enable-application=browser
Note that the MOZ_OBJDIR specifies where the built objects will be placed. In the above example they will be placed in a directory called ff-opt (for firefox optimised). If you intend on using the same source for building on multiple platforms (eg 32 and 64 bit linux) then you will want to modify the .mozconfig file before you build each one. If you use the same directory each time your previous build will not be preserved. For example if building firefox for i686-linux you you might use a line like:
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-i686-linux
Once you have built the objects it is not easy to move/rename the parent directory they are in as there are many symbolic links set up as part of the build.
Follow the build instructions: http://developer.mozilla.org/en/Build_and_Install
I did the following:
cd $CMISS_ROOT/zinc/firefox-3.0.1-source/mozilla make -f client.mk build
Windows build
Be sure to use MSVC version 6.0 when building on windows or the resulting zinc will not be compatible with the version of Firefox distributed by the Mozilla Foundation.