[distcc] Re: Using cc1/cc1plus directly from distccd?
Stuart D. Gathman
stuart at bmsi.com
Tue Feb 18 17:55:24 GMT 2003
Stuart D. Gathman wrote:
> Lo and behold, I found distcc which already does everything I want -
> almost. The problem is that I compile only the cc1 and cc1plus cross
> compiler programs. It is way too much trouble to get includes,
> libraries, etc installed in an alien system for a complete cross
> compiler. These are in fact, the only programs needed for distcc (and
> my own stub). However, distccd seems to call the gcc front end rather
> than cc1 or cc1plus. Is there any way to avoid calling the front end on
> the volunteer system, and run only the compiler proper with distcc?
It seems that distcc runs both the compiler and the assembler pass on the
volunteer. This makes it necessary to port both a compiler and an assembler
for alien platforms. In my case, AIX uses its own assembler syntax not
supported by the GNU assembler (last I checked). Even with compatible
assemblers, splitting out the assembly phase provides yet another opportunity
for parallelization.
So distcc needs to support running the compiler proper and assembler on
separate volunteers. When the assembler is not available, it can run on
localhost. This should benefit everyone (and allow me to use distcc :-).
I was expecting distcc to use the same compiler passes as on local host by
default. For instance, if I am compiling on AIX with a Linux volunteer, the
AIX system has gcc-2.95.2 installed and would normally look for cc1 and as in
/usr/local/lib/gcc-lib/powerpc-aix/2.95.2/.
When running under distcc, I would expect it to look for cc1 and as in the
same directory but on the volunteer host by default. I realize that this
represents a little bit of a departure from the currently philosophy of using
the gcc frontend only. Has this been considered before?
More information about the distcc
mailing list