One potential drawback to using a shared cache is that the output printed by SCons can be inconsistent from invocation to invocation, because any given file may be rebuilt one time and retrieved from the shared cache the next time. This can make analyzing build output more difficult, especially for automated scripts that expect consistent output each time.
If, however, you use the
SCons will print the command line that it
would have executed
to build the file,
even when it is retrieving the file from the shared cache.
This makes the build output consistent
every time the build is run:
scons -Qcc -o hello.o -c hello.c cc -o hello hello.o %
scons -Q -cRemoved hello.o Removed hello %
scons -Q --cache-showcc -o hello.o -c hello.c cc -o hello hello.o
The trade-off, of course, is that you no longer know whether or not SCons has retrieved a derived file from cache or has rebuilt it locally.