- The main focus of distcc is GCC,
the Free GNU C Compiler.
Compilation of C, C++, Objective C and Objective C++ can be
distributed by distcc. All recent versions (from 2.9 up) should
work. This includes versions of gcc distributed in development
kits from various vendors, including those for the Sony
Playstation and Apple OS X.
Other languages supported by the GNU compiler collection such as
Java, Ada and FORTRAN are not supported because their compilation
process is very different.
- icc is a proprietary C/C++ compiler for i386 and ia64 from
Intel. icc is claimed to be source, object and command-line
compatible with gcc and so should work with distcc. (However,
some people have reported bugs in particular versions of icc that
cause problems with distcc.)
- Sun CC
- Sun's proprietary C compiler is reported to work with distcc in C
mode. It appears that Sun CC cannot compile C++ templates
correctly when using a separate preprocessor, so it is generally
not practical to compile C++ using Sun CC and distcc.
- Microsoft C
- There is experimental support for Microsoft's compiler using a wrapper,
that makes it behave like gcc.
For all compilers it is very important to have the same version installed
on all machines participating in the build.
The main feature required by distcc is that the compiler must be able
to run the preprocessor separately, and then compile the preprocessor
output from a file. This was a basic part of the original design of
C, but some compilers seem to have lost the ability to do this.
However, this feature is not required if you use distcc's "pump" mode.
Secondarily, distcc is currently hardcoded to suit gcc's behaviour and
command-line syntax, so only compilers that act like gcc will work.
This could in principle be changed.
If you want to report results with any of these compilers or
information on a new compiler please send mail to distcc at lists.samba.org.