Difference between revisions of "Distcc mozilla tutorial"

From CDOT Wiki
Jump to: navigation, search
m (Check out)
(reorganized a few things)
Line 7: Line 7:
 
# [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites Mozilla requirements]
 
# [http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites Mozilla requirements]
 
# Patience
 
# Patience
 +
 +
=Check out and build=
 +
TODO : NOTE THE PATCH FOR FIREFOX 2.0 BUILDS
 +
 +
Checkout, build, and install the distcc source
 +
 +
''svn co svn://cdot.senecac.on.ca/distcc/trunk''<br>
 +
''./configure && make && make install''
  
 
=MOZCONFIG=
 
=MOZCONFIG=
Line 22: Line 30:
  
 
=Environment=
 
=Environment=
The only required environment variable is DISTCC_CL_HOSTS, which contain a space delimited list of all slave machines.
+
The only required environment variable is DISTCC_CL_HOSTS, which contain a space delimited list of all slave machines. You must set this variable on the master machine (the machine that contains the source code).
  
 
''Example :'' export DISTCC_CL_HOSTS="localhost 10.0.0.2 10.0.0.4
 
''Example :'' export DISTCC_CL_HOSTS="localhost 10.0.0.2 10.0.0.4
Line 52: Line 60:
 
-->
 
-->
  
=Check out and build=
+
=Distcc Daemon=
TODO : NOTE THE PATCH FOR FIREFOX 2.0 BUILDS
+
Start the distcc daemon. The only thing you need to change is who is allowed to use the daemon. You can use space-delimited list of ip addresses, or specify the CIDR mask of an entire subnet.
 
 
Checkout, build, and install the distcc source
 
 
 
''svn co svn://cdot.senecac.on.ca/distcc/trunk''
 
 
 
''./configure && make && make install''
 
 
 
 
 
Checkout the mozilla source. Have your MOZCONFIG file set and ready, and do a ''make -f client.mk build'' on the source.
 
  
=Build=
+
''distccd --allow "10.0.0.0/24" --daemon'''

Revision as of 16:08, 20 March 2007

What is this?

This is a tutorial to get distcc to compile Mozilla Firefox on cygwin.

Requirements

  1. Window machines. For distcc to be of any use, there should be at least 2 machines
  2. Cygwin. You will need gcc to build distcc. We built using gcc-3.4.4
  3. Mozilla requirements
  4. Patience

Check out and build

TODO : NOTE THE PATCH FOR FIREFOX 2.0 BUILDS

Checkout, build, and install the distcc source

svn co svn://cdot.senecac.on.ca/distcc/trunk
./configure && make && make install

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

The only required environment variable is DISTCC_CL_HOSTS, which contain a space delimited list of all slave machines. You must set this variable on the master machine (the machine that contains the source code).

Example : export DISTCC_CL_HOSTS="localhost 10.0.0.2 10.0.0.4


Distcc Daemon

Start the distcc daemon. The only thing you need to change is who is allowed to use the daemon. You can use space-delimited list of ip addresses, or specify the CIDR mask of an entire subnet.

distccd --allow "10.0.0.0/24" --daemon'