Differences between revisions 3 and 4
Revision 3 as of 2008-03-12 02:47:03
Size: 1164
Editor: localhost
Comment: converted to 1.6 markup
Revision 4 as of 2014-05-02 11:24:11
Size: 1270
Editor: DirkBaechle
Comment: added some links
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
When you first check out SCons from svn, the main dirs you'll see are: When you first check out SCons, the main dirs you'll see are:
Line 6: Line 6:
|| doc || the documentation (man pages, guides, etc.) ||
|| test || test suite ||
|| doc || the [[DeveloperGuide/Documentation|documentation (man pages, guides, etc.)]] ||
|| test || [[DeveloperGuide/TestingMethodology|test suite]] ||
Line 11: Line 11:
The src dir is the one you care about. It's organized like this: The src dir is the one you probably care about. It's organized like this:
Line 16: Line 16:
   * *Tests.py (unit tests, discovered automatically; see ../TestingMethodology)    * *Tests.py (unit tests, discovered automatically; see [[DeveloperGuide/TestingMethodology|TestingMethodology]])

SCons Source Tree Walkthrough

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:

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)
  • 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.

DeveloperGuide/SourceWalkThrough (last edited 2014-05-02 11:24:11 by DirkBaechle)