Distcc mozilla tutorial
What is this?
This is a tutorial to get distcc to compile Mozilla Firefox on cygwin.
Requirements
- Window machines. For distcc to be of any use, there should be at least 2 machines
- Cygwin. You will need gcc to build distcc. We built using gcc-3.4.4
- Mozilla requirements
- Patience
MOZCONFIG
Currently, distcc does not transmit debug .pdb files. So you cannot currently do a debug build. Here is a sample MOZCONFIG file. All you need to do is modify the object directory (MOZ_OBJDIR).
Note the last line, which is required for any MOZCONFIG file that wants to build using distcc.
mk_add_options MOZ_OBJDIR=/cygdrive/c/home/cesar/mozobj ac_add_options --enable-application=browser ac_add_options --enable-optimize ac_add_options --disable-debug ac_add_options --enable-debugger-info-modules=no mk_add_options MOZ_CO_PROJECT=browser mk_add_options MOZ_MAKE_FLAGS="CC='distcc cl' CXX='distcc cl' -j4"
Environment
This section explains some usefull environment variables that you can use.
Master
The master machine is the machine in which the mozilla directory is located.
- DISTCC_CL_HOSTS
- the ip addresses of the slave machines. Usually localhost is the first host. THIS IS REQUIRED Example : export DISTCC_CL_HOSTS="localhost 10.0.0.2 10.0.0.4
- DISTCC_VERBOSE
- Verbose output. Values : 1 for true
- DISTCC_LOG
- A path to a file that distcc will output to
- DISTCC_FALLBACK
- Whether distcc should fallback to localhost if it fails to find a slave. The compile will fail if fallback are disabled and no slaves are found. Values : 1 for allow fallback
Slave
The slaves take preprocessed file and send back the object file. They do not need the source code.
- DISTCC_CL_HOSTS
- the ip addresses of the slave machines. Usually localhost is the first host.
Example : export DISTCC_CL_HOSTS="localhost 10.0.0.2 10.0.0.4
Optional
DISTCC_FALLBACK