ANNOUNCE: checkpoint release 0.97.0d20071212 is now available
Steven Knight <[email protected]> Wed, 12 Dec 2007 17:26:38 -0600 (CST)
| Newsgroups | gmane.comp.programming.tools.scons.announce |
|---|---|
| Message-ID | <alpine.DEB.0.82.0712121725320.19364__5190.382366027$1197512092$gmane$org@bangkok> |
A new SCons checkpoint release, 0.97.0d20071212, is now available at the
SCons download page:
http://www.scons.org/download.php
A SCons "checkpoint release" is intended to provide early access to
new features so they can be tested in the field before being released
for adoption by other software distributions.
Note that a checkpoint release is developed using the same test-driven
development methdology as all SCons releases. Existing SCons
functionality should all work as it does in previous releases (except
for any changes identified in the release notes) and early adopters
should be able to use a checkpoint release safely for production work
with existing SConscript files. If not, it represents not only a bug
in SCons but also a hole in the regression test suite, and we want to
hear about it.
New features may be more lightly tested than in past releases,
especially as concerns their interaction with all of the other
functionality in SCons. We are especially interested in hearing bug
reports about new functionality.
We do not recommend that downstream distributions (Debian, Fedora,
etc.) package a checkpoint release, mainly to avoid confusing the
"public" release numbering with the long checkpoint release names.
Here is a summary of the changes since 0.97.0d20070918:
NEW FUNCTIONALITY
- Add a CheckTypeSize() call.
- A new Options.UnknownOptions() method returns any settings that aren't
known to the Options object.
- A new Glob() function returns matching files or directories, taking
into account BuildDir() and Repository() calls.
- A new GetBuildFailures() function can be used by functions registered
with the Python atexit module to print summary info about failures.
- A new Requires() function allows specification of order-only
dependencies.
CHANGED/ENHANCED EXISTING FUNCTIONALITY
- SCons can now ignore some SConscript files and still build consistently
when BuildDir(duplicate=0) is used.
- The $WINDOWSPROGMANIFESTSUFFIX and $WINDOWSSHLIBMANIFESTSUFFIX
variables now pick up changes in the underlying $SHLIBSUFFIX and
$PROGSUFFIX variables.
- Files retrieved from a CacheDir() when Decider('timestamp-newer')
is used now have their modification times updated when copying files.
- The default behaviors of SourceSignatures('timestamp') and
TargetSignatures('timestamp') are now equivalent to 'timestamp-match',
not 'timestamp-newer'.
FIXES
- Unpredictable issues with open file handles causing permission or
other errors during parallel (-j) builds on Windows when Python have
been fixed.
- Fix spurious rebuilds when using --implicit-cache and Builders that
produce multiple targets.
- The -c option now removes files and directories using absolute paths
to avoid problems in certain BuildDir configurations.
- Install() and InstallAs() now work correctly in cloned construction
environments.
- The FS.{Dir,File,Entry}.rel_path() method(s) have been restored.
- Targets are now set up correctly if multiple Package() builders are
specified at once.
IMPROVEMENTS
- Alias Nodes no longer take up large amounts of memory trying to
calculate an MD5 checksum for the contents of all their dependencies.
- Speed up conversion of paths in .sconsign files to File or Dir Nodes.
- An O(n^2) performance problem has been fixed when adding sources to a
target through multiple calls to a Builder with the multi= options set.
- Searching for implicit dependency files in the directories in a $*PATH
list no longer creates Dir Nodes for directories that don't actually
exist on-disk.
- Builders with single_source= set, like Object(), now return a NodeList
object, not a Python list, when called with more than one file.
DOCUMENTATION
- Fix a number of typos in the man page and User's Guide.
- The Depends() function has now been documented in the User's Guide.
DEVELOPMENT
- Many test scripts have been fixed when run on Solaris.
Thanks to Benoit Belley, David Cournapeau, Ken Deeter, Malte Helmert,
Geoffrey Irving, Maxim Kartashev, Gary Oberbrunner and Philipp Scholl
for their contributions to this release.