Version 0.04 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 files.
WHAT'S NEW IN THIS RELEASE?
Version 0.04 of SCons contains the following changes:
- targets are automatically removed before being built unless the new Precious() method suppresses their removal - a new Ignore() method allows dependencies to be ignored - changes to -I or -L options (include or lib directories) don't cause a rebuild unless an underlying file changed - a --debug=pdb option re-invokes SCons under the Python debugger - you can specify var=value arguments on the command line - a directory can now be a Default() target - function actions now return None upon success, and raise exceptions properly - Action() and Scanner() can be called from subsidiary SConscripts - binary file signatures on Win32 systems are now calculated correctly - LIBS and LIBPATH construction variables can now be strings - an action is now executed just once for a list of targets, not once for each target in the list - SCons will now find the library directory properly if you specify your own --prefix= value at installation - more performance improvements, including calculating a build signature just once per node - documentation improvements, including corrected mistakes and additional examples
For a complete list of changes in version 0.05, see the CHANGES.txt file in the release itself.
WHAT IS SCONS?
SCons is a software construction tool (build tool, 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
An scons-users mailing list has been created 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 Charles Crain, Steven Leblanc, and Anthony Roach for their contributions to this release.
On behalf of the SCons team,