Please note:The SCons wiki is now restored from the attack in March 2013. All old passwords have been invalidated. Please reset your password if you have an account. If you note missing pages, please report them to webmaster@scons.org. Also, new account creation is currently disabled due to an ongoing spam flood (2013/08/27).

SCons Environment - when SCons starts building the project, it creates its own environment with dependency trees, helper functions, builders and other stuff. The SCons environment is created in memory and some parts of it are saved to disk to speed up things on the next start. It is often referenced as just Environment. This often confuses people who used Makefiles where environment is actually System Environment.

System Environment - is a familiar operating system container with environment variables such as PATH, HOME etc. It is usually accessible via the os.environ mapping in Python and therefore in SCons too. SCons doesn't import any settings from System Environment (like flags for compilers, or paths for tools) implicitly, because it's designed to be crossplatform tool with predictable behavior. That's why if you rely on any system PATHs or environment variables - you need to extract it in your SConscripts explicitly.

SConstruct - is the name of the main script SCons is looking for to execute. Processing starts from it.

SConscript - these files are also SCons scripts, but they are placed in subdirectories of the project. They are used to organize hierarchical builds and are included from the main SConstruct file placed at the project root.

Builder - is an SCons object that you explicitly call from the scripts to build dependent targets from a set of sources. The power of SCons is in the fact that dependencies are tracked automatically. When source files change, the system automatically detects which targets should be rebuilt.

Scanner - another SCons object. This time to scan source files for additional dependencies referenced inside, but not passed as sources to a Builder.

Tool - is any external component that adds Builders, Scanners and other helpers to SCons environments for use within scripts. SCons scans several locations to find tools - there can be project-specific or installation-specific add-ons for extending core functionality.

BasicConcepts (last edited 2014-02-07 17:01:45 by AnatolyTechtonik)