[distcc] feature request: command-line switch to avoid using localhost

Alexandre Oliva oliva at lsd.ic.unicamp.br
Sat Apr 5 22:49:35 GMT 2003

On Apr  2, 2003, Martin Pool <mbp at sourcefrog.net> wrote:

> You can use instead of 'localhost' to cause compilations to
> be passed through a daemon running locally.

Yeah, but then I won't have the speed up of localhost builds while
building say stage1 of a GCC bootstrap, in which using localhost is
perfectly fine.  I must not use localhost while building stage2 and
stage3, because otherwise debugging info will differ, and then I end
up with compare failures.  That's why I'd like to have a distcc option
to disable the localhost optimization: I could still have the same
DISTCC_HOSTS setting applied to all builds, but I'd pass this option
to distcc such that it would contact distccd on localhost, instead of
having to tweak DISTCC_HOSTS in the wrapper script used for stage2 and
stage3 (which I'm actually trying to get rid of)

Just to make this clearer, currently I set CC='ccache distcc gcc' and
STAGE_CC_WRAPPER='distcc-wrapper'.  The GCC bootstrap Makefile rules
prepend the latter to `<stage>/xgcc -B<stage>/', used to build stage2
and stage3 of the bootstrap.  The wrapper will then adjust
DISTCC_HOSTS, replacing localhost with `uname -n`, and turn relative
pathnames into network-uniform pathnames.

The idea is to be able to do away with STAGE_CC_WRAPPER, processing
the relative pathnames in <stage>/xgcc -B<stage>/ only once,
prepending distcc to it at that time, but then I also need some means
to edit localhost into `uname -n` in DISTCC_HOSTS for these commands.

Due to shell/Makefile quoting hell, I can't just prepend 

DISTCC_HOSTS=`echo $DISTCC_HOSTS | sed "s,localhost,`uname -n`,"` 

to the distcc command, because eventually the command or the
assignment gets broken down into multiple words, and I end up trying
to run the second hostname with DISTCC_HOSTS set to the first hostname
in the intended DISTCC_HOSTS.  So I'd much rather use

  distcc --no-localhost-optimization

as STAGE_CC_WRAPPER, and that would remove the need for editing

Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer

More information about the distcc mailing list