Hi All,
We were just having a discussion (read: heated debate) regarding how to
set up distcc to work with cross-compiling toolchains. The fly in the
ointment is dealing with certain packages, which ignore the CC and CXX,
and just call `gcc` (or worse, `cc`) instead of the fully qualified
compiler name (`mips-unknown-linux-gnu-gcc`...etc).
There are a couple of approaches that we've nutted out:
1. Multiple distcc daemons on separate ports:
In this solution, we run multiple daemons, each with its PATH
set to the base directory of the cross compiler.
In Gentoo, cross-gcc for a given CHOST lurks in
/usr/$CHOST/gcc-bin/$VERSION/, with the corresponding binutils in
/usr/$CHOST/bin. These two directories simply get added to the
DISTCC_PATH variable when calling distccd.
The downside, one has to make a note of which toolchain is on which
port ... plus the administrative overhead of maintaining multiple distcc
instances.
2. Single distcc daemon, with client-side wrappers.
This seems to be the correct method, hinted at on the DistCC site. The
offending binaries, cc/gcc/g++/c++, are replaced with wrapper scripts
that look something like this:
#!/bin/bash
exec ${CHOST}-gcc "$@"
The full procedure is covered here:
http://www.gentoo.org/doc/en/cross-compiling-distcc.xml
At present, this isn't done automatically ... as it's still regarded as
a broken hack by some, for reasons unknown.
So... I put the question to you, the developers... what's the correct
way to handle these "special" cases? Is there a better way of handling
this?
Regards,
--
Stuart Longland (aka Redhatter) .'''.
Gentoo Linux/MIPS Cobalt and Docs Developer '.'` :
. . . . . . . . . . . . . . . . . . . . . . .'.'
http://dev.gentoo.org/~redhatter :.'
signature.asc
Description: OpenPGP digital signature
__ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc
