Difference between revisions of "Distcc mozilla tutorial"

From CDOT Wiki
Jump to: navigation, search
(reorganized a few things)
Line 13: Line 13:
 
Checkout, build, and install the distcc source
 
Checkout, build, and install the distcc source
  
''svn co svn://cdot.senecac.on.ca/distcc/trunk''<br>
+
<pre>
''./configure && make && make install''
+
        svn co svn://cdot.senecac.on.ca/distcc/trunk
 +
        cd trunk && ./configure && make && make install
 +
</pre>
  
 
=MOZCONFIG=
 
=MOZCONFIG=
Line 21: Line 23:
 
'''Note the last line''', which is required for any MOZCONFIG file that wants to build using distcc.
 
'''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
+
      mk_add_options MOZ_OBJDIR=/cygdrive/c/home/cesar/mozobj
ac_add_options --enable-application=browser
+
      ac_add_options --enable-application=browser
ac_add_options --enable-optimize
+
      ac_add_options --enable-optimize
ac_add_options --disable-debug
+
      ac_add_options --disable-debug
ac_add_options --enable-debugger-info-modules=no
+
      ac_add_options --enable-debugger-info-modules=no
mk_add_options MOZ_CO_PROJECT=browser
+
      mk_add_options MOZ_CO_PROJECT=browser
mk_add_options MOZ_MAKE_FLAGS="CC='distcc cl' CXX='distcc cl' -j4"
+
      mk_add_options MOZ_MAKE_FLAGS="CC='distcc cl' CXX='distcc cl' -j4"
  
 
=Environment=
 
=Environment=
Line 63: Line 65:
 
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.
 
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'''
+
<pre>
 +
      distccd --allow '10.0.0.0/24' --daemon
 +
</pre>

Revision as of 17:41, 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
        cd 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