Version 0.05 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.05 of SCons adds the following features: - A library can be specified as a $SOURCES file, not just in the LIBS construction variable. - Scanners can now return a list of strings. - .sconsign files are first written to a temporary file and renamed. - The list of variables exported to an SConscript file may now be a UserList, too. - Preliminary support for Unicode strings has been added. - The -q option has been added. - The -u option has been added. - SCons now scans files with .cc and .hh suffixes for #include lines. - A Builder's Action may now be a Python code object that *returns* a command line to be executed.
The following fixes have been added: - PROGSUFFIX is now set to .exe under Cygwin. - Work around for a bug in os.path.normpath() returning '' for './' on WIN32 systems. - White space in a PREFIX or SUFFIX creates separate command-line arguments as appropriate. - Fetching MicroSoft DevStudio information from the Windows registry has been fixed and made more robust. - sys.stdout is now flushed after print so it intermixes correctly with sys.stderr output. - Scanned dependencies are now relative to the directory of the file being scanned. - All of the directories for a list of targets are created before trying to build any of the targets. - Ignore() now ignores both indirect (scanned) and direct dependencies - The -c option no longer stops if a target doesn't exist to be removed. - The --debug=pdb option now works on WIN32 systems. - The scons script now returns an error code on build failures.
Performance has been improved as follows: - #include lines from a file are now cached once. - Dependencies are now scanned only once per file when walking the dependency tree.
The documentation has been improved: - Writing your own Scanners is now documented. - The LIBPATH construction variable is now documented. - The man page is now included in the Debian distribution. - HTML documents are cleaned up by running them through tidy.
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 Chad Austin, Charles Crain, Steve Leblanc, and Anthony Roach for their contributions to this release.
On behalf of the SCons team,