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

Module SConf

source code


Autoconf-like configuration support.

In other words, SConf allows to run tests on the build machine to detect capabilities of system and do some things based on result: generate config files, header files for C/C++, update variables in environment.

Tests on the build system can detect if compiler sees header files, if libraries are installed, if some command line options are supported etc.

Classes [hide private]
Raised when a file or directory needs to be updated during a Configure process, but the user requested a dry-run
Raised when a use explicitely requested the cache feature, but the test is run the first time.
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.
'Sniffer' for a file-like writable object. Similar to the unix tool tee.
This is almost the same as SCons.Script.BuildTask. Handles SConfErrors correctly and knows about the current cache_mode.
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 explicitly. 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 explicitly cache this error.
Provides a context for configure tests. Defines how a test writes to the screen and log file.
Functions [hide private]
SetBuildType(type) source code
Set the Configure cache mode. mode must be one of "auto", "force", or "cache".
source code
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
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
CheckProg(context, prog_name)
Simple check if a program exists in the path. Returns the path for the application, or None if not found.
source code
Variables [hide private]
  __revision__ = 'src/engine/SCons/ rel_2.5.0:3543:937e5...
  build_type = None
  build_types = ['clean', 'help']
  dryrun = 0
  AUTO = 0
  FORCE = 1
  CACHE = 2
  cache_mode = 0
  progress_display = DisplayEngine()
  SConfFS = None
  _ac_build_counter = 0
  _ac_config_logs = {}
  _ac_config_hs = {}
  sconf_global = None
  __package__ = 'SCons'
Variables Details [hide private]


'src/engine/SCons/ rel_2.5.0:3543:937e55cd78f7 2016/04/09 11:2\
9:54 bdbaddog'