One potential drawback to using a derived-file 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 derived-file 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 derived-file cache.
This keeps the build output consistent across builds:
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.