ANNOUNCE: SCons 0.94 adds command-line argument features, fixes key bugs

Steven Knight
Fri, 7 Nov 2003 06:51:49 -0600 (CST)

SCons is a software construction tool (build tool, or make tool) written
in Python.  It is based on the design which won the Software Carpentry
build tool competition in August 2000.

Version 0.94 of SCons has been released and is available for download
from the SCons web site:

Or through the download link at the SCons project page at SourceForge:

RPM and Debian packages and a Win32 installer are all available, in
addition to the traditional .tar.gz and .zip files.


This release adds the following features:
  - A new AddOptions() method makes it easier to add multiple command-line
    option specifications in a single call.
  - New BoolOption(), EnumOption(), ListOption(), PackageOption() and
    PathOption() functions provide canned initialization for several
    useful types of common option behavior.
    provide access to the lists of targets specified on the command line
    or through calls to the Default() function or method.

The following fixes have been added:
  - The use of CPPDEFINES with C++ source files has been fixed.
  - The env.Append() method now works properly when the operand
    is an object with a __cmp__() method (like a Scanner instance).
  - Subclassing the Environment and Scanner classes has been fixed.
  - C++ compilation with the SGI compiler has been fixed.
  - C and C++ compilation with AIX compiler has been fixed.

The documentation has been improved:
  - The man page un-indented correctly after examples in some browsers;
    this has been fixed.
  - Use of the Options() object to control command-line options has
    been documented in the User's Guide.
  - New features have been documented in the man page and User's Guide.


Distinctive features of SCons include:

  - a global view of all dependencies; no multiple passes to get
    everything built properly
  - configuration files are Python scripts, allowing the full use of a
    real scripting language to solve difficult build problems
  - a modular architecture allows the SCons Build Engine to be
    embedded in other Python software
  - The ability to scan files for implicit dependencies (#include files);
  - improved parallel build (-j) support that provides consistent
    build speedup regardless of source tree layout
  - use of MD5 signatures to decide if a file has really changed; no
    need to "touch" files to fool make that something is up-to-date
  - easily extensible through user-defined Builder and Scanner objects
  - build actions can be Python code, as well as external commands

An scons-users mailing list is available for those interested in getting
started using SCons.  You can subscribe at:

Alternatively, we invite you to subscribe to the low-volume
scons-announce mailing list to receive notification when new versions of
SCons become available:


Special thanks to Hartmut Goebel, Steve Leblanc, Gary Oberbrunner and
Vincent Risi for their contributions to this release.

On behalf of the SCons team,