SCons tries to unlink the output of link steps from the filesystem before running the link step for programs or libraries. Typically this is the right thing to do for safety, but it makes incremental linking impossible.
We should add a mechanism that detects if the current build is already using incremental linking, and tags the relevant files as Precious so that SCons does not remove them first.