ANNOUNCE: SCons 0.07 is now available

Steven Knight knight@baldmt.com
Fri, 3 May 2002 12:01:02 -0500 (CDT)


Version 0.07 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:
  - The former -U option function is now -D.  -U now functions like -u,
    except only targets defined in the local SConscript file are built.
  - The default F77 command line on Win32 now uses /Fo instead of -o.
  - The target Node is now passed to a Scanner function as its third
    argument.  An optional fourth node takes an FS object.
  - Command generator functions now take a fourth "for_signature" argument.

This release adds the following features:
  - The SConscript() function can now take "dirs" and "name" keyword
    arguments to avoid having to specify "SConscript" on every file.
  - Builder objects can now take arbitrary keyword arguments to
    create ad-hoc attributes for use by function Actions, Builder
    emitter functions, or command generators.
  - Builders can now take an emitter= argument to specify a function
    for massaging the target and source file lists.
  - Command generators can now return anything that can be made into
    an Action, and take a for_signature argument to support returning
    separate contents for signature generation vs. execution.
  - Support for building shared libraries has been added.
  - Support for Win32 .def files has been added.
  - SCons now supports long MSVC linker command lines through use of
    a temporary file.
  - A Split() function has been added to support explicit splitting
    of space-separated strings into individual file names.  (The
    automatic splitting that SCons does will go away in 0.08).
  - An SConscriptChdir() method has been added to support automatically
    changing to each SConscript file's directory.
  - A new --debug=dtree option prints out only derived files.
  - A new --implicit-cache option caches dependency signatures of files.
  - A new .abspath construction variable modifier has been added.
  - $SOURCE is now a synonym for ${SOURCES[0]}.
  - Python modules can now be imported into an SConscript file from
    its local directory.

The following fixes have been added:
  - The -c option now deletes .h files generated by yacc.
  - Relative CPPPATH directories were broken in 0.06; now fixed.
  - The -n option used with -c now properly does not remove targets.
  - .c and .C files are now treated the same on case-insensitive
    (Win32) systems.
  - The PDF builder now uses pdftex or pdflatex directly instead of
    going through a .dvi intermediate file.
  - The --debug=tree option now works with directory targets.
  - .sconsign files are now written on error or interrupt to save
    intermediate build results.
  - Aliases now work with the -u, -U and -D options.
  - Nodes can now be passed to SConscript files.

Performance has been improved as follows:
  - Construction variable substitution has been optimized.
  - Content signatures are now cached for each file.

The following changes have been made to the SCons packaging:
  - The scons.bat file has been improved to support more than nine
    arguments on Win32 systems that support it.
  - The Debian package has been updated.


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 Chad Austin, Charles Crain, Alex Jacques, Steve
Leblanc, Anthony Roach, and Moshe Zadke for their contributions to this
release.

On behalf of the SCons team,

	--SK