Currently, the source tarball is produced as part of the sourcepush.py manual build step. It is a simple git archive of the current checkout.
We should move the responsibility for producing the source archive into SCons, so that SCons can adorn the source archive with pre-interpolated versioning information (e.g. version.cpp).
Additionally, the build system should be updated so that if it detects pre-interpolated versions of these files, it does not need to regenerate the interpolated files.
This may require moving some items out of buildinfo.cpp (which should reflect the current build and therefore should not be pre-interpolated) and into version.cpp.