Please note:The SCons wiki is now restored from the attack in March 2013. All old passwords have been invalidated. Please reset your password if you have an account. If you note missing pages, please report them to webmaster@scons.org. Also, new account creation is currently disabled due to an ongoing spam flood (2013/08/27).
Differences between revisions 2 and 3
Revision 2 as of 2007-01-17 04:30:40
Size: 1164
Comment:
Revision 3 as of 2008-03-12 02:47:03
Size: 1164
Editor: localhost
Comment: converted to 1.6 markup
No differences found!

SCons Source Tree Walkthrough

Here's a quick introduction to the structure of the SCons source.

When you first check out SCons from svn, 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 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 2008-03-12 02:47:03 by localhost)