lsst.sconsUtils¶
The sconsUtils
module provides tooling to support the building of standard LSST packages using SCons.
Contributing¶
lsst.sconsUtils
is developed at https://github.com/lsst/sconsUtils.
You can find Jira issues for this module under the sconsUtils component.
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¶
A scope-only class for SConscript-replacement convenience functions. |
|
|
A scope-only class for SConstruct-replacement convenience functions. |
lsst.sconsUtils.dependencies Module¶
Functions¶
|
Recursively configure a package using ups/.cfg files. |
Classes¶
|
Base class for defining how to configure an LSST sconsUtils package. |
|
A Configuration subclass for external (third-party) packages. |
|
A class for loading and managing the dependency tree of a package, as defined by its configuration module (.cfg) file. |
Class Inheritance Diagram¶
digraph inheritance2525ee9ae6 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "Configuration" [URL="../../../py-api/lsst.sconsUtils.dependencies.Configuration.html#lsst.sconsUtils.dependencies.Configuration",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for defining how to configure an LSST sconsUtils package."]; "ExternalConfiguration" [URL="../../../py-api/lsst.sconsUtils.dependencies.ExternalConfiguration.html#lsst.sconsUtils.dependencies.ExternalConfiguration",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A Configuration subclass for external (third-party) packages."]; "Configuration" -> "ExternalConfiguration" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PackageTree" [URL="../../../py-api/lsst.sconsUtils.dependencies.PackageTree.html#lsst.sconsUtils.dependencies.PackageTree",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A class for loading and managing the dependency tree of a package,"]; }lsst.sconsUtils.tests Module¶
Classes¶
|
A class to control and run unit tests. |
lsst.sconsUtils.installation Module¶
Functions¶
|
Return a path to use as the installation directory for a product. |
|
Set a version ID from env, or a version control ID string ( |
|
Return a unique fingerprint for a version (e.g. |
|
Set a prefix based on the EUPS_PATH, the product name, and a version string from CVS or SVN. |
Classes¶
|
SCons Action callable to recursively install a directory. |
|
Dummy class to make visible the methods injected into the SCons parent environment. |
Class Inheritance Diagram¶
digraph inheritance76381cc53e { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "Base" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class for \"real\" construction Environments."]; "SubstitutionEnvironment" -> "Base" [arrowsize=0.5,style="setlinewidth(0.5)"]; "DirectoryInstaller" [URL="../../../py-api/lsst.sconsUtils.installation.DirectoryInstaller.html#lsst.sconsUtils.installation.DirectoryInstaller",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="SCons Action callable to recursively install a directory."]; "SConsEnvironment" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="An Environment subclass that contains all of the methods that"]; "Base" -> "SConsEnvironment" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SConsUtilsEnvironment" [URL="../../../py-api/lsst.sconsUtils.installation.SConsUtilsEnvironment.html#lsst.sconsUtils.installation.SConsUtilsEnvironment",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Dummy class to make visible the methods injected into the SCons"]; "SConsEnvironment" -> "SConsUtilsEnvironment" [arrowsize=0.5,style="setlinewidth(0.5)"]; "SubstitutionEnvironment" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Base class for different flavors of construction environments."]; }lsst.sconsUtils.builders Module¶
Functions¶
|
Return a list of files that need to be scanned for tags, starting at directory root. |
Classes¶
|
A callable to be used as an SCons Action to run Doxygen. |
lsst.sconsUtils.utils Module¶
Functions¶
Internal function indicating that the OS has System Integrity Protection. |
|
Name of library path environment variable to be passed throughself. |
|
Path of Python executable to use. |
|
Is shebang rewriting required? |
|
Calculate library loader path environment string to be prepended to external commands. |
|
|
Safe wrapper for running external programs, reading stdout, and sanitizing error messages. |
|
A Python decorator that injects functions into a class. |
Returns a copy of the current conda prefix, if available. |
Classes¶
|
A dead-simple logger for all messages. |
Using sconsUtils
without the conda
Compilers¶
If you would like to use sconsUtils
without the conda
compilers, then put
SCONSUTILS_AVOID_CONDA_COMPILERS
in your environment with a non-None
value.
This environment variable will instruct sconsUtils
to use the default system
compilers and compiler flags.