[distcc] Cross-Compiling

Martin Pool mbp at sourcefrog.net
Fri Nov 12 22:13:10 GMT 2004

On 12 Nov 2004, vpuzzella at gmmsolutions.com wrote:
> Hi all.
> I am new to distcc and am seeking a bit of advise.  First off, some background:
> I just "inherited" the duty of overseeing the build system for a fairly large
> project.  The project's native C components target the following architechtures-OSs:
> IA32-linux
> S390-Linux
> IA32-windows
> SPARC-Solaris
> S390-ZOS
> ISeries-OS400 (yes, I know)
> Our compile farm consists of one machine for each target.
> Currently, the build system is, IMHO, pretty old-school and inefficient. 
> Basically, all the source code is pushed from the master build machine (SCP or
> FTP) to the targets where it is natively compiled, linked, packaged and returned
> to the master build machine.  My ultimate goal is to set up gcc cross-compilers
> on all the machines in the farm and use distcc to distribute the compilation.

As Dan says, it is probably way too complex to do a pure cross build
on a software tree that was not originally designed that way.  (Can you
make packages for Z/OS or OS/400 on Linux?)

You might try using rsync to make transfers of the source marginally
faster, if that's slowing you down.

You can use distcc to make the compiles somewhat faster on the target
platforms; for example perhaps your Sparc machine is old and clunky
and you don't want to buy another one, or perhaps you only have an
S/390 emulator.  While running the main build on the Sparc you could
use cross-compilers through distcc to speed it up.

This can only be done on platforms that use gcc and that are
reasonably Unixy.  So definitely strike the Z/OS and OS/400.  If you
use gcc on the proprietary Unixes you should still be OK.  The easiest
one would be using one Linux platform to speed up the other; it should
be possible to get that going in a matter of days.

This won't make your build control system any cleaner but it might
make it cycle faster.

So I'm not quite so pessimistic as Dan, so long as you start with a
modest scope.  Whether you consider it sufficiently broken to worry
about speeding up is up to you.  If builds on those platforms are
hurting your project then it might be worth a try.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.samba.org/archive/distcc/attachments/20041113/f898f6ea/attachment-0001.bin

More information about the distcc mailing list