[distcc] distcc, cross-compilers & packages that ignore CC/CXX... what's the _right_ way?

Stuart Longland redhatter at gentoo.org
Tue Jan 24 02:37:52 GMT 2006

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

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:

exec ${CHOST}-gcc "$@"

	The full procedure is covered here:

	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

Stuart Longland (aka Redhatter)              .'''.
Gentoo Linux/MIPS Cobalt and Docs Developer  '.'` :
. . . . . . . . . . . . . . . . . . . . . .   .'.'
http://dev.gentoo.org/~redhatter             :.'

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://lists.samba.org/archive/distcc/attachments/20060124/c1473cbe/signature.bin

More information about the distcc mailing list