Also, it would be cool if you could say a few words about
what it would take to someday run the compile server in parallel
on multiple computers, distcc style. The obvious "just use
distcc" probably won't help as much as one would think
because distcc runs the preprocessor before shipping the
code out, whereas (judging by
http://per.bothner.com/papers/GccSummit03-slides/) your
compile server really wants the original source files.
Presumably distcc could send over source files if
the distcc server hadn't seen them before (based on a
hash of the file). In large installations, you'd want
to go just on a hash of the file's contents, not on its
absolute path, since multiple users might be compiling
the same file.