Difference between revisions of "Distcc With MSVC"

From CDOT Wiki
Jump to: navigation, search
(Project News)
(Project News)
Line 37: Line 37:
  
 
For the most up to date info look up [http://www.foobartastic.com foobartastic]
 
For the most up to date info look up [http://www.foobartastic.com foobartastic]
 +
 +
== Sept. 26 2006 ==
 +
Tried to do parallel builds with mozilla in linux (maybe we should have done this first). Here is something usefull to know :
 +
To parallel build in mozilla, you cannot pass the -jN option to make and expect it to work. It didn't for me, and make was killing itself without an explination. I later learned that you have to add the following line to mozconfig
 +
mk_add_options MOZ_MAKE_FLAGS=-j8
 +
Cheers
  
 
== Sept. 24 2006 ==
 
== Sept. 24 2006 ==
  
 
We think we've got the architecture right now. Ofcourse the only way to know is to start porting cl :). We're now going to try to port the tests to work with cl.exe.
 
We think we've got the architecture right now. Ofcourse the only way to know is to start porting cl :). We're now going to try to port the tests to work with cl.exe.

Revision as of 19:41, 26 September 2006

Project Name

distcc, distributed compilations for C/C++ compilers.

Project Description

The goal of this project is to speed up Windows Mozilla Builds by spreading object compilations over several machines. This can be done by using an open source product called distcc created by Martin Pool. Unfortunately this is only available on *nix machines using gcc. Our project involves porting this software to Windows and use Microsoft's Visual C++ compiler using cygwin.

Project Leader(s)

Project Contributor(s)

We have stuff for you to do!

Dave Liebreich - Thanks for checkin whether cygwin's ln will create working links to cl.exe (e.g. a link name clfoo.exe to cl.exe).

Project Details

Mozilla (and others :) ) is interested in speeding up their builds by using a distributed compiler (distcc). The problem is that distcc only works with gcc but not with the msvc compiler (cl).

The plan has two stages:

  1. change distcc to support multiple compilers
  2. add cl support

Initially, we planned to use two vtables (one for distcc and another for distccd) to keep track of which compiler specific operation to use when. However that bombed out so we're currently using a single vtable.

We have kept the two vtable branch because we actually got a lot of the cl specific stuff done (before we realized we missed some functions).

The First Patch (Oops)

This was released to the distcc mailing list. This has a few functions missing. It was meant to provide the two vtable support without cl. It should be ignored and we'll be re-releasing a working version of this soon.

Project News

For the most up to date info look up foobartastic

Sept. 26 2006

Tried to do parallel builds with mozilla in linux (maybe we should have done this first). Here is something usefull to know : To parallel build in mozilla, you cannot pass the -jN option to make and expect it to work. It didn't for me, and make was killing itself without an explination. I later learned that you have to add the following line to mozconfig

mk_add_options MOZ_MAKE_FLAGS=-j8

Cheers

Sept. 24 2006

We think we've got the architecture right now. Ofcourse the only way to know is to start porting cl :). We're now going to try to port the tests to work with cl.exe.