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