SCons will allow users to share construction environments, as well as other SCons objects and Python variables, by importing them from a central, shared repository using normal Python syntax:
from LocalEnvironments import optimized, debug optimized.Make('foo', 'foo.c') debug.Make('foo-d', 'foo.c')
The expectation is that some local tool-master, integrator or
administrator will be responsible for assembling environments (creating
the Builder
objects that specify the tools, options, etc.) and make
these available for sharing by all users.
The modules containing shared construction environments
(LocalEnvironments
in the above example) can be
checked in and controlled with the rest of the source files. This
allows a project to track the combinations of tools and command-line
options that work on different platforms, at different times, and with
different tool versions, by using already-familiar revision control
tools.