I don't think a single person here has mentioned cross-compiling. As someone who maintains a cross-compiled distribution of Unix (for the iPhone), when someone writes software that involves anything remotely complex (maybe shared libraries), if you aren't using autoconf and libtool you are a cruel sadistic bastard (and if you think uname is /ever/ appropriate to use in a build environment, you are simply naive).
Autotools is no panacea for cross compiling. I've cross-compiled minimal (and not so minimal) systems for sparc, powerpc, arm, and mips, and it's not all that hard to come up with a configure script that falls down and dies when build!=host.
In my experience, many non-trivial autoconf-based applications don't cross compile without patching.
The problem is that most people have to extend things with their own tests and disregard cross-compiling (by assuming that the build machine is the same as the target machine).
Yeah, well, Varnish is a slightly special in that it needs a C-compiler at runtime, so cross-compilation is not terribly relevant: If you do not have a native compiler, you cannot use it anyway.
(The VCL domain-specific language is translated to C, compiled to shared lib, and dlopen(2)'ed, that eliminated the runtime overhead of an interpreter)