distcc is a parallel build system that distributes compilation of C/C++/ObjC code across machines on a network. It can be set up in just a few minutes and makes builds up to ten times faster. It does not require machines to share a filesystem or have the same libraries or header files, and installation does not need superuser privileges.
| Tags | Software Development Compilers Build Tools Internet Clustering/Distributed Networks Pre-processors |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX BSD FreeBSD Unix Linux Mac OS X |
| Implementation | Objective C C C++ Python |
Recent releases


Changes: Lots of bugfixes and portability improvements were made. The "--scan-includes" option was added to distcc. This shows which headers distcc would send to the remote machine in pump mode, without actually compiling anything. This provides a simple interface to the include server. The "--disable-Werror" option was added to configure. This disables the use of gcc's -Werror option when building distcc, allowing compilation of distcc to succeed even if gcc issues warnings.


Changes: This release contains a major new feature: distcc-pump mode. With pump mode, distcc is now able to distribute preprocessing too, not just compilation. As a result, this release can be up to three times faster than earlier versions. It also contains many other new features and bugfixes.


Changes: This release fixes small bugs in handling -x and -specs compiler options.


Changes: Portability bugs for Solaris and amd64 were fixed.


Changes: Various portability and minor bugs were fixed.
A todo application for the Compaq iPAQ based on the pimPAQ framework.
- All comments
Recent commentsRe: Makefile oversights
> The Makefile doesn't support 'make
> uninstall' or 'make install-strip'
distcc 3.0 supports 'make uninstall'.
See http://distcc.org
Re: Makefile oversights
I take it that you agree that 'make install-strip' is
needed since you didn't say anything about it.
Re: Makefile oversights
> The Makefile doesn't support 'make
> uninstall' or 'make install-strip'
I think uninstall is better handled through package management. It is hard to do it reliably from a makefile.
Makefile oversights
The Makefile doesn't support 'make uninstall' or 'make install-strip'
Re: force to do remotely
> Maybe an external "knowledge-base", as
> file(1) has magic(5), would be the best
> solution.
If it turned out that there was sufficient interest in other tasks which fit within this general concept then some kind of scriptable system would be good.
The task has to be something where it's completely determined by a small number of input and output files, and by the command line. If this is all that's needed, it may be simpler just to use rsh or ssh. distcc is needed mostly because the input has to be preprocessed and checked before being sent across. If it's a simpler task like for example sort then just running it on some random machine will be sufficient.