Now that I think about it some more, the problem is really this:

1) distcc is a Cygwin app and it expects POSIX style paths.

2) distcc also *generates* POSIX style paths to be passed to the compiler.

3) Your 'ccsh' compiler is a Win32 app that expects DOS style paths.

4) distcc parses the rest of the command line and calls the compiler in question to do various operations, passing the compiler in question a POSIX style path.

5) Your 'ccsh' compiler does not understand this path, so it borks.


If we can insert a step between 4 and 5, say 4.5, then we might be able to fix this up without making fragile changes to distcc.


I'm not sure about how distcc parses the command line for the compiler name and so forth, but you might be able to do a little bit of magic by creating a shell script (e.g. ccsh.sh) that converts any POSIX paths to DOS paths (I believe there are utilities in Cygwin that do this) then calls the ccsh compiler with all specified arguments. I think you would have to have the same shell script on all Win32 computers used in the distcc build environment. You could, of course, start this off by getting it working on one machine.

A more generic solution, if the above works, would be to create a generic compiler wrapper script that could be distributed with the distcc package for Cygwin. The script would parse all args passed to the compiler and convert them to DOS style paths.

Could some distcc developers provide their thoughts on this?

Harold
__ distcc mailing list http://distcc.samba.org/
To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/distcc

Reply via email to