lsst.sconsUtils
The sconsUtils
module provides tooling to support the building of standard LSST packages using SCons.
Python API reference
Note
Many of the methods defined in this package are injected directly into the base SConsEnvironment.
The SConsUtilsEnvironment
class exists solely to allow these methods to be documented.
The class will not be used when writing SCons files.
lsst.sconsUtils.scripts Module
Classes
BasicSConscript
A scope-only class for SConscript-replacement convenience functions.
BasicSConstruct
A scope-only class for SConstruct-replacement convenience functions.
lsst.sconsUtils.dependencies Module
Functions
configure
(packageName[, versionString, …])
Recursively configure a package using ups/.cfg files.
Classes
Configuration
(cfgFile[, headers, libs, …])
Base class for defining how to configure an LSST sconsUtils package.
ExternalConfiguration
(cfgFile[, headers, …])
A Configuration subclass for external (third-party) packages.
PackageTree
(primaryName[, noCfgFile])
A class for loading and managing the dependency tree of a package, as defined by its configuration module (.cfg) file.
Class Inheritance Diagram
Inheritance diagram of lsst.sconsUtils.dependencies.Configuration, lsst.sconsUtils.dependencies.ExternalConfiguration, lsst.sconsUtils.dependencies.PackageTree
lsst.sconsUtils.tests Module
Classes
Control
(env[, ignoreList, expectedFailures, …])
A class to control and run unit tests.
lsst.sconsUtils.installation Module
Functions
makeProductPath
(env, pathFormat)
Return a path to use as the installation directory for a product.
determineVersion
(env, versionString)
Set a version ID from env, or a version control ID string ($name$
or $HeadURL$
).
getFingerprint
(versionString)
Return a unique fingerprint for a version (e.g.
setPrefix
(env, versionString[, eupsProductPath])
Set a prefix based on the EUPS_PATH, the product name, and a version string from CVS or SVN.
Classes
DirectoryInstaller
(ignoreRegex, recursive)
SCons Action callable to recursively install a directory.
SConsUtilsEnvironment
([platform, tools, …])
Dummy class to make visible the methods injected into the SCons parent environment.
Class Inheritance Diagram
Inheritance diagram of lsst.sconsUtils.installation.DirectoryInstaller, lsst.sconsUtils.installation.SConsUtilsEnvironment
lsst.sconsUtils.builders Module
Functions
filesToTag
([root, fileRegex, ignoreDirs])
Return a list of files that need to be scanned for tags, starting at directory root.
Classes
DoxygenBuilder
(**kw)
A callable to be used as an SCons Action to run Doxygen.
lsst.sconsUtils.utils Module
Functions
_has_OSX_SIP
()
Internal function indicating that the OS has System Integrity Protection.
libraryPathPassThrough
()
Name of library path environment variable to be passed throughself.
whichPython
()
Path of Python executable to use.
needShebangRewrite
()
Is shebang rewriting required?
libraryLoaderEnvironment
()
Calculate library loader path environment string to be prepended to external commands.
runExternal
(cmd[, fatal, msg])
Safe wrapper for running external programs, reading stdout, and sanitizing error messages.
memberOf
(cls[, name])
A Python decorator that injects functions into a class.
get_conda_prefix
()
Returns a copy of the current conda prefix, if available.
Classes
Log
()
A dead-simple logger for all messages.
Using sconsUtils
with the conda
Compilers
If you would like to use sconsUtils
with the conda
compilers, then put
SCONSUTILS_USE_CONDA_COMPILERS
in your environment with a non-None
value.
This environment variable will instruct sconsUtils
to use the compiler
flags and compilers from the enclosing conda
environment.