[distcc] -MD and -o behaviour (again)

Thomas Walker Thomas.Walker at morganstanley.com
Fri Jan 10 18:39:00 GMT 2003

I'm curious as to whether there is any alternative workaround currently
being looked at for the way distcc handles -MD and -o.  I understand the
problems that have cropped up as a result of gcc3.x deciding to change
the -MD behaviour slightly.  Distcc appears to workaround the issue by
stripping all -o options and adding a -E before passsing the command to
the preprocessor.  This has the unfortunate side effect of not allowing
you to create .d and .o on a single pass and dump both of them to
something other than the cwd.

if I run:
$ distcc gcc -c hello.c -MD -o ../build/hello.o

then the dependency generation portion of the command comes out as:
gcc -c hello.c -MD -E

and the compile portion comes out as:
gcc -c hello.c -o ../.build/hello.o

this results in the .o file being placed correclty in ../build/ but the
.d file being dumped in the cwd.  It is possible to make this work
correclty via 2 seperate compiler passes but that seems a bit
unnecessary.  Any other ideas?


This communication is intended for the addressee(s) and may contain
confidential and legally privileged information.  We do not waive
confidentiality or privilege by mistransmission.  If you have received
this communication in error, any use, dissemination, printing or copying
is strictly prohibited; please destroy all electronic and paper copies
and notify the sender immediately.

More information about the distcc mailing list