supported compilers

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, wrapmsvc.exe, 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

Copyright © 2002–2004 Martin Pool. distcc is a trademark of Martin Pool.

Send comments to distcc(at), or talk to us on #distcc on