1
edit
Changes
no edit summary
=What is this?=
This is a tutorial to get distcc to compile Mozilla Firefox on Windows using 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 build using gcc-3.4.4
# [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites Mozilla requirements]
# Patience
=Building distcc=
Checkout, build, and install the distcc source
svn co svn://cdot.senecac.on.ca/distcc/trunk
cd trunk && ./configure && make && make install
Checkout the Mozilla source. If you are using the latest version of trunk, than you are fine. If you are building 2.0.0.3 or below, you need to apply a silly [https://bugzilla.mozilla.org/show_bug.cgi?id=374563 patch].
=MOZCONFIG=
Currently, distcc does not transmit debug .pdb files(i.e., it can only send back one file). 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_CO_PROJECT=browser
mk_add_options MOZ_MAKE_FLAGS="CC='distcc cl' CXX='distcc cl' -j4"
-j4 is quite important. According to the man page, you should set the number of jobs equal to the number of all cpus (or cores) + 2.
=Environment=
The only required environment variable is ''Example :'DISTCC_CL_HOSTS''' export DISTCC_CL_HOSTS="localhost 10.0.0.2 10.0, which contains a space delimited list of all slave machines.0 You must set this variable on the master machine (the machine that contains the source code).4
export DISTCC_CL_HOSTS="localhost 10.0.0.2 10.0.0.4"
<!--
This section explains some useful environment variables that you can use.
-->
=Check outDistcc Daemon=TODO : NOTE THE PATCH FOR FIREFOX 2.0 BUILDS
You should now be able to compile Mozilla. You won''t notice distributing immediately./configure && make && make installBut you can monitor the progress using the distcc-text or distcc-gnome utility, or using the 'Task Manager'. Sometimes, mozilla forces -j1 in some directories. So be prepared for that.
=Complaints=