-
Notifications
You must be signed in to change notification settings - Fork 0
SourceWalkThrough
Gary Oberbrunner edited this page Dec 13, 2014
·
1 revision
Here's a quick introduction to the structure of the SCons source.
When you first check out SCons, the main dirs you'll see are: [[!table header="no" class="mointable" data=""" src | the source doc | the documentation (man pages, guides, etc.) test | test suite www | the SCons web site """]]
The src dir is the one you probably care about. It's organized like this:
-
engine (the guts of SCons)
- SCons (the root of the SCons python module hierarchy)
- *.py (the python modules)
- *Tests.py (unit tests, discovered automatically; see TestingMethodology)
- Tool (Tool modules, e.g. cc.py, msvc.py, latex.py...)
- Scanner (Scanner modules for scanning for includes)
- Node (the Node object, the central filesystem abstraction for building the dependency graph)
- Script (Main.py in here has the main loop that parses SCons options and reads the SConstruct; it's what's called from the "scons" script)
- Sig (the MD5 signature subsystem)
- SCons (the root of the SCons python module hierarchy)
-
script (the "scons" script) Some key files in src/SCons:
-
Environment.py: lots of good stuff in here.
-
Node/FS.py: File() and Dir() nodes are defined here.