GDC Europe 2013: "Toolchain Independent Distributed Compilation" by Dietmar Hauser (@rattenhirn?) of Sproing Interactive Media GmbH https://gdcvault.com/play/1019295/Toolchain-Independent-Distributed

This was okay. They created a distributed build system that works for any console SDK. It was built for a small office of 34 people, where each person runs a screensaver on Windows that acts as a compile server.

1/3

Toolchain Independent Distributed Compilation

In 2012, a crack programming team set out on a mission to speed up compile times for C++ projects, utilizing the untapped power of idle workstations. With a lot of experience in multi-platform development, the cumulative pain of years of watching...

They made a few interesting decisions:

1. Rather than installing every SDK on everyone's computer, they just send the compiler along with the sources to compile

2. They use something that sounded like a regex search to find the #includes, and package all these headers up with the file to be compiled. This ended up not working very well because they're not actually running a full preprocessor, so they can't handle things like #ifdefs. (For comparison, distcc runs the preprocessor locally)

2/3

@GDCPresoReviews Not exactly regex, but a quite simple parser that cached it's result and only had to reparse changed files. This actually came from an earlier usage of the tool to build with other compilers in Visual Studio in the pre MSBuild days, where we simply replaced cl.exe, link.exe, and lib.exe with our own that translated the MSVC command line to and output from the actually used compiler (CodeWarrior and SNC). Since this broke VS's dependency check, we had to roll our own.

@rattenhirn replacing cl.exe is certainly an interesting way to do it! Does Visual Studio not have a way of saying “use a different compiler instead of the default one”? (It must - the console SDKs can’t take the same approach of replacing the built-in compilers)

I’m not that familiar with Visual Studio’s build infrastructure.

@GDCPresoReviews Before VS used the MSBuild build system to build, the compiler was fixed to the built in one. I don't remember exactly when this change occurred, but it must have been around 2010.