[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
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 :.'
-------------- 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