By either manually configuring distcc & DMUCS as per their documentation, or using the DistCode Xcode plugin compilation can be distributed amongst networked Macs.
All Macs must have the same developer tools installed & the same distcc/DMUCS/DistCode and be on the same local network.
This works for compiling for Mac & iOS and it should be possible to configure distcc & DMUCS manually for use on build farms for remote building from Windows.
Linux could also use this for local builds or remote build farms - but I'm not in a position to test this.
[CL 2238171 by Mark Satterthwaite in Main branch]
Limit number of parallel actions by introducing memory budget per each action - arguably a better heuristic than just dividing number of cores by two.
#codereview Robert.Manuszewski, Michael.Trepka, Mark.Satterthwaite
[CL 2072899 by Dmitry Rekman in Main branch]
#change Parse the compiler selected in Xcode & find the Xcode plugin which contains the executable to run when it isn't the default.
#change When the analyze option is enabled (either standalone or as a build setting) we need to pass through the analyze clang flag.
#change Pass in the Xcode max. parallel build tasks default to UBT as an environment variable rather than just assuming we want to use half the CPUs.
#notes This means we can use an external compiler (even a GPL one like distcc) without any direct dependency. Editor builds still use the default compiler since it isn't clear how to know which compiler is intended to be used in that case - the Xcode environment variable won't have been set.
#codereview michael.trepka, jack.porter
[CL 2072854 by Mark Satterthwaite in Main branch]
Also, do not halve number of processors when running on mono (unnecessary generalization).
Part of pull request 49 by sbc, see https://github.com/EpicGames/UnrealEngine/pull/49 for details.
#codereview Ben.Marsh
[CL 2045177 by Dmitry Rekman in Main branch]