This is a guide to building Mozilla on Unix including,
For documentation on developing features or fixing bugs, look at the Mozilla Technical Documents or Mozilla Library. For general Unix issues, look at the Mozilla Unix.
See the Unix build requirements.
There are two ways to get the code:
Drops are generally produced at least once per week (usually daily), and are known to compile and even run on a few platforms.
Provides the most current code, but is slower than ftp. (First check that Tinderbox is green to be sure it will compile.)
setenv CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
cvs login
(password: anonymous) (You only need to login once)
cvs co mozilla/client.mk
cd mozilla
gmake -f client.mk checkout
The makefile pulls the right source for building mozilla, which includes some tagged branches (e.g., NSPR).
Do not try to manually check out the mozilla/ CVS tree on the HEAD branch. It will not work.
cd mozilla
./configure [options]
./configure --help
, or use the Unix Build Configurator.If you don't know what a configure option does, don't use it. The default is to create a un-optimized build with debugging information. If you want an optimized build, use the configure options --disable-debug --enable-optimize
.gmake
Once you have configured, you only have to run configure
if you add or remove Makefile.in files (cvs update can do this. Beware!). The list of makefiles is in mozilla/allmakefiles.sh
For build system hackers: If you change configure.in, cd to mozilla, and run autoconf-2.13
. This generates a new configure script. (When you checkin configure.in, cvs will run autoconf and check in a new configure script for you).
~/.mozconfig
.cvs co -f mozilla/client.mk
cd mozilla
gmake -f client.mk
If you want to build without pulling the tree (as in, you already have the source lying around), gmake -f client.mk build
If you just want to pull the tree, gmake -f client.mk checkout
If you want to build Firefox, use the example mozconfig file in the mozilla/browser/config source directory.
cd dist/bin
and you should see links to the scripts to run the executables: mozilla
and mozilla-viewer.sh
.LD_LIBRARY_PATH
and run mozilla-bin
and viewer
directly. Set LD_LIBRARY_PATH
to include dist/bin, and the NSPR and GTK libraries. (For example, you might set it to .:../../nspr/lib
).
SHLIB_PATH
.LIBPATH
.MOZILLA_FIVE_HOME
to point to theabsolute path of the dist/bin directory.Parallel builds: just adding -j4 to gmake doesn't work, you need to do this:
setenv MAKE gmake -j4