SCons 0.06 is now available

Steven Knight knight@baldmt.com
Thu, 28 Mar 2002 08:11:48 -0600 (CST)


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

        http://www.scons.org/

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

        http://sourceforge.net/projects/scons/

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


WHAT'S NEW IN THIS RELEASE?

IMPORTANT:  This release contains the following interface changes:
  - FunctionAction arguments are now Nodes, not strings.

This release adds the following features:
  - New RANLIB and RANLIBFLAGS construction variables.
  - A new configurable CFILESUFFIX for the Builder of .l and .y
    files into C files.
  - A CXXFile Builder that turns .ll and .yy files into .cc files
    (configurable via a CXXFILESUFFIX construction variable).
  - A new --profile=FILE option to make profiling SCons easier.
  - Support for Aliases (phony targets).
  - A new WhereIs() method for searching for path names to executables.
  - New PDF and PostScript document builders.
  - New support for compiling Fortran programs from a variety of
    suffixes (a la GNU Make):  .f, .F, .for, .FOR, .fpp and .FPP
  - A new CPPFLAGS variable on all default commands that use the
    C preprocessor.
  - CPPPATH, LIBPATH and LIBS can now be specified as white-space
    separated lists of directories/libraries.
  - A new -U option.
  - Support env['VAR'] syntax to fetch construction variable values.

The following fixes have been added:
  - Command generators now expand construction variables.
  - Use the POSIX-standard lex -t flag, not the GNU-specific -o flag.
    (Bug reported by Russell Christensen.)
  - Fixed an exception when CPPPATH or LIBPATH is a null string.
    (Bug reported by Richard Kiss.)
  - Construction variables with values of 0 were incorrectly
    interpolated as ''.

Performance has been improved as follows:
  - A dictionary, not a list, is now used to track a Node's parents.

The following changes have been made to the SCons packaging:
  - Both installation and source packages are now available as .zip
    files, in addition to .tar.gz files.

The documentation has been improved:
  - The LIBS and ARGUMENTS construction variables have been documented.
  - The Precious() method has been documented.


WHAT IS SCONS?

SCons is a software construction tool (build tool, or make tool) written
in Python.  Its design is based on the design which won the Software
Carpentry build tool competition in August 2000 (in turn derived from
the Perl-based Cons build tool).

Distinctive features of SCons include:

  - configuration files are Python scripts, allowing the full use of a
    real scripting language to solve build problems
  - a modular architecture allows the SCons Build Engine to be
    embedded in other Python software
  - a global view of all dependencies; no multiple passes to get
    everything built
  - the ability to scan files for implicit dependencies (#include files);
  - improved parallel build (-j) support
  - use of MD5 signatures to decide if a file has changed
  - 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 has been created for those interested in
getting started using SCons.  You can subscribe at:

	http://lists.sourceforge.net/lists/listinfo/scons-users

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

	http://lists.sourceforge.net/lists/listinfo/scons-announce



ACKNOWLEDGEMENTS

Special thanks to Charles Crain, Stephen Kennedy, Steve Leblanc, and
Anthony Roach for their contributions to this release.

On behalf of the SCons team,

	--SK