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

Module SConf

source code

SCons.SConf

Autoconf-like configuration support.

In other words, this package allows to run series of tests to detect capabilities of current system and generate config files (header files in C/C++) that turn on system-specific options and optimizations.

For example, it is possible to detect if optional libraries are present on current system and generate config that makes compiler include them. C compilers do not have ability to catch ImportError if some library is not found, so these checks should be done externally.

Classes [hide private]
  SConfWarning
  SConfError
  ConfigureDryRunError
Raised when a file or directory needs to be updated during a Configure process, but the user requested a dry-run
  ConfigureCacheError
Raised when a use explicitely requested the cache feature, but the test is run the first time.
  SConfBuildInfo
Special build info for targets of configure tests. Additional members are result (did the builder succeed last time?) and string, which contains messages of the original build phase.
  Streamer
'Sniffer' for a file-like writable object. Similar to the unix tool tee.
  SConfBuildTask
This is almost the same as SCons.Script.BuildTask. Handles SConfErrors correctly and knows about the current cache_mode.
  SConfBase
This is simply a class to represent a configure context. After creating a SConf object, you can call any tests. After finished with your tests, be sure to call the Finish() method, which returns the modified environment. Some words about caching: In most cases, it is not necessary to cache Test results explicitely. Instead, we use the scons dependency checking mechanism. For example, if one wants to compile a test program (SConf.TryLink), the compiler is only called, if the program dependencies have changed. However, if the program could not be compiled in a former SConf run, we need to explicitely cache this error.
  CheckContext
Provides a context for configure tests. Defines how a test writes to the screen and log file.
Functions [hide private]
 
SetBuildType(type) source code
 
SetCacheMode(mode)
Set the Configure cache mode. mode must be one of "auto", "force", or "cache".
source code
 
SetProgressDisplay(display)
Set the progress display to use (called from SCons.Script)
source code
 
_createConfigH(target, source, env) source code
 
_stringConfigH(target, source, env) source code
 
NeedConfigHBuilder() source code
 
CreateConfigHBuilder(env)
Called if necessary just before the building targets phase begins.
source code
 
_createSource(target, source, env) source code
 
_stringSource(target, source, env) source code
 
SConf(*args, **kw) source code
 
CheckFunc(context, function_name, header=None, language=None) source code
 
CheckType(context, type_name, includes='', language=None) source code
 
CheckTypeSize(context, type_name, includes='', language=None, expect=None) source code
 
CheckDeclaration(context, declaration, includes='', language=None) source code
 
createIncludesFromHeaders(headers, leaveLast, include_quotes='""') source code
 
CheckHeader(context, header, include_quotes='<>', language=None)
A test for a C or C++ header file.
source code
 
CheckCC(context) source code
 
CheckCXX(context) source code
 
CheckSHCC(context) source code
 
CheckSHCXX(context) source code
 
CheckCHeader(context, header, include_quotes='""')
A test for a C header file.
source code
 
CheckCXXHeader(context, header, include_quotes='""')
A test for a C++ header file.
source code
 
CheckLib(context, library=None, symbol='main', header=None, language=None, autoadd=1)
A test for a library. See also CheckLibWithHeader. Note that library may also be None to test whether the given symbol compiles without flags.
source code
 
CheckLibWithHeader(context, libs, header, language, call=None, autoadd=1)
Another (more sophisticated) test for a library. Checks, if library and header is available for language (may be 'C' or 'CXX'). Call maybe be a valid expression _with_ a trailing ';'. As in CheckLib, we support library=None, to test if the call compiles without extra link flags.
source code
Variables [hide private]
  __revision__ = 'src/engine/SCons/SConf.py 2014/07/05 09:42:21...
  build_type = None
hash(x)
  build_types = ['clean', 'help']
  dryrun = 0
  AUTO = 0
  FORCE = 1
  CACHE = 2
  cache_mode = 0
  progress_display = DisplayEngine()
  SConfFS = None
hash(x)
  _ac_build_counter = 0
  _ac_config_logs = {}
  _ac_config_hs = {}
  sconf_global = None
hash(x)
  __package__ = 'SCons'
Variables Details [hide private]

__revision__

Value:
'src/engine/SCons/SConf.py  2014/07/05 09:42:21 garyo'