Package SCons :: Module Environment
[hide private]
[frames] | no frames]

Module Environment

source code

SCons.Environment

Base class for construction Environments. These are the primary objects used to communicate dependency and construction information to the build engine.

Keyword arguments supplied when the construction Environment is created are construction variables used to initialize the Environment

Classes [hide private]
  _Null
  _null
  MethodWrapper
A generic Wrapper class that associates a method (which can actually be any callable) with an object. As part of creating this MethodWrapper object an attribute with the specified (by default, the name of the supplied method) is added to the underlying object. When that new "method" is called, our __call__() method adds the object as the first argument, simulating the Python behavior of supplying "self" on method calls.
  BuilderWrapper
A MethodWrapper subclass that that associates an environment with a Builder.
  BuilderDict
This is a dictionary-like class used by an Environment to hold the Builders. We need to do this because every time someone changes the Builders in the Environment's BUILDERS dictionary, we must update the Environment's attributes.
  SubstitutionEnvironment
Base class for different flavors of construction environments.
  Base
Base class for "real" construction Environments. These are the primary objects used to communicate dependency and construction information to the build engine.
  OverrideEnvironment
A proxy that overrides variables in a wrapped construction environment by returning values from an overrides dictionary in preference to values from the underlying subject environment.
  Environment
Base class for "real" construction Environments. These are the primary objects used to communicate dependency and construction information to the build engine.
Functions [hide private]
 
alias_builder(env, target, source) source code
 
apply_tools(env, tools, toolpath) source code
 
copy_non_reserved_keywords(dict) source code
 
_set_reserved(env, key, value) source code
 
_set_future_reserved(env, key, value) source code
 
_set_BUILDERS(env, key, value) source code
 
_del_SCANNERS(env, key) source code
 
_set_SCANNERS(env, key, value) source code
 
_delete_duplicates(l, keep_last)
Delete duplicates from a sequence, keeping the first or last.
source code
 
is_valid_construction_var(varstr)
Return if the specified string is a legitimate construction variable.
source code
 
default_decide_source(dependency, target, prev_ni) source code
 
default_decide_target(dependency, target, prev_ni) source code
 
default_copy_from_cache(src, dst) source code
 
NoSubstitutionProxy(subject)
An entry point for returning a proxy subclass instance that overrides the subst*() methods so they don't actually perform construction variable substitution. This is specifically intended to be the shim layer in between global function calls (which don't want construction variable substitution) and the DefaultEnvironment() (which would substitute variables if left to its own devices).
source code
Variables [hide private]
  __revision__ = 'src/engine/SCons/Environment.py 3a41ed6b288cee...
  _warn_copy_deprecated = True
  _warn_source_signatures_deprecated = True
  _warn_target_signatures_deprecated = True
  CleanTargets = {}
  CalculatorArgs = {}
  AliasBuilder = <SCons.Builder.BuilderBase object>
  reserved_construction_var_names = ['CHANGED_SOURCES', 'CHANGED...
  future_reserved_construction_var_names = []
  _is_valid_var = re.compile(r'[_a-zA-Z]\w*$')
  __package__ = 'SCons'
Function Details [hide private]

NoSubstitutionProxy(subject)

source code 

An entry point for returning a proxy subclass instance that overrides the subst*() methods so they don't actually perform construction variable substitution. This is specifically intended to be the shim layer in between global function calls (which don't want construction variable substitution) and the DefaultEnvironment() (which would substitute variables if left to its own devices).

We have to wrap this in a function that allows us to delay definition of the class until it's necessary, so that when it subclasses Environment it will pick up whatever Environment subclass the wrapper interface might have assigned to SCons.Environment.Environment.


Variables Details [hide private]

__revision__

Value:
'src/engine/SCons/Environment.py 3a41ed6b288cee8d085373ad7fa02894e1903\
864 2019-01-23 17:30:35 bdeegan'

reserved_construction_var_names

Value:
['CHANGED_SOURCES',
 'CHANGED_TARGETS',
 'SOURCE',
 'SOURCES',
 'TARGET',
 'TARGETS',
 'UNCHANGED_SOURCES',
 'UNCHANGED_TARGETS']