Menu

SCons 0.98 is now available

Version 0.98 of SCons has been released and is now available at the
SCons download page:

    http://www.scons.org/download.php

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

This release has been extensively tested by the SCons community,
specifically in a series of "checkpoint releases" over the last seven
months. This release, like all SCons releases, is also developed with
an extensive suite of regression tests to try to ensure stability and
backwards compatibility.

This release is considered a candidate for the (long-awaited) official
1.0 SCons release. We welcome and encourage widespread testing and use
of this release to try to identify any problems. Please report your bugs
following the guidelines at:

    http://scons.tigris.org/bug-submission.html

WHAT'S NEW IN THIS RELEASE (SINCE 0.97.0d20071212)

IMPORTANT: This release officially deprecates support for Python versions
prior to 2.2 (that is, Python 1.5.2, 2.0 and 2.1). SCons will function
normally, but running SCons under any deprecated Python version will
generate a disableable warning message. Our current plan is to support
these deprecated Python versions in SCons 1.0, and remove support in
SCons 2.0. If removing this support would cause a problem for you, please
contact the dev@scons.tigris.org mailing list.

There have been many more changes to SCons since the base 0.97 release
than this announcement lists. For a complete list of changes, including
a description of additional features that have been deprecated or other
changes which may impact your configuration, see the official release
notes:

    http://www.scons.org/RELEASE.txt

To see a complete list of changes since the base 0.97 release (and
before that), consult the official change log:

    http://www.scons.org/CHANGES.txt

Here is a summary of the changes since the most recent 0.97.0d20071212
checkpoint release:

NEW FUNCTIONALITY

  • A new prompted --interactive mode allows quick rebuilds of targets
    without having to re-read the SConscript files each time.
  • A new --stack-size option allows control over the worker thread stack size.
  • The Intel C compiler is now supported on Mac OS X.
  • A new CheckDeclaration() call has been added to configure contexts.
  • A configuration context Define() call can be used to add lines to a
    generated configure header file.
  • A new "gfortran" Tool module adds support for the GNU F95/F2003 compiler.
  • A new parse_flags option can be used when creating construction environments.

DEPRECATED FUNCTIONALITY

  • Running SCons under Python versions before 2.2 is now deprecated and
    generates a warning.
  • The env.Copy() function is now deprecated and generates a warning.
    Use env.Clone() instead.
  • The TargetSignatures() and SourceSignatures() methods are now deprecated
    and generate warnings. Use the new Decider() methods instead.
  • The --debug=dtree, --debug=stree and --debug-tree options are now
    deprecated and generate warnings. Use the new --tree option instead.
  • A new VariantDir() function has been added as a first step towards
    deprecating BuildDir(). Using BuildDir() does not yet generate a warning.
  • A new keyword argument "variant_dir" has been added as a first step
    towards deprecating the keyword argument "build_dir". Using
    "build_dir" does not yet generate a warning.

CHANGED/ENHANCED EXISTING FUNCTIONALITY

  • When expanding construction variables, input sequences (lists or tuples)
    are now preserved as a list in the output.
  • By default, the jar -C option is now used with an argument of the directory
    in which the Java() Builder built the .class files.
  • The File(), Dir() and Entry() functions now return a list of Nodes when
    passed a list of names.
  • File prefixes and suffixes are now internally stripped completely to fix
    support of non-standard library prefixes and suffixes.
  • Intel C compiler support now handles network license files (port@system).
  • The Copy() action factory now preserves all individual file modes and times.
  • SCons now recognizes the SWIG %module statement with following modifiers
    in parentheses (e.g., '%module(directors="1")').
  • SCons now adds comments to generated config.h files describing what
    the various #define/#undef lines are doing.
  • Python functions used as actions now correctly cause rebuilds when
    any of the following has changed: literal values used by the function;
    default function arguments; code of nested functions; closure
    variable values; names of referenced global variables or functions.
  • The D language scanner now searches for .di files as well as .d files.
  • The D scanner now detects multiple modules imported by a single statement.
    passed a list of input names.

FIXES

  • Construction variables that contain or refer to lists of other variables
    or Nodes are now handled correctly within expansions like $CPPPATH.
  • $PDB and $WINDWOWS_INSERT_MANIFEST can now be used together.
  • include of files specified with absolute path names has been fixed.

  • The --keep-going flag now builds all possible targets even when a
    later top-level target depends on a child that failed its build.
  • SCons no longer crashes if an un-installed Intel C compiler has left
    entries in the Windows registry.
  • SCons no longer crashes on Linux if no no /opt/intel_cc_* exists when
    trying to use the Intel C compiler.
  • You can now use the Intel C compiler when specifying the top compiler
    directory, without specifying the compiler version.
  • SCons now correctly reports "done cleaning targets (errors occurred
    during clean)" when --clean and --keep-going are used and errors occur.
  • The "scons-time time" subcommand no longer fails on empty log files
    or log files that are missing expected results.
  • SCons now longer tries to use -rpath with the Mac OS X linker.
  • On Mac OS X, SCons now correctly expects the header file generated from
    a C++ file to be named file.cpp.h.
  • Copy() and Move() now correctly handle files with strings of multiple
    white space characters.
  • SCons now recognizes Java anonymous inner classes when generics are used.
  • Using a saved copy of env.Install() or env.InstallAs() no longer causes an
    infinite loop when the original methods have been replaced.
  • Floating-point numbers no longer cause SCons to expect incorrect
    generated .class file names in some configurations.
  • SetOption('warn', ...) can now be used in SConscript files to disable
    warnings.
  • Explicit user methods added to a construction environment are no longer
    overwritten when the construction environment is cloned.
  • TeX and LaTeX support now work with BuildDir(duplicate=0).
  • SCons now re-runs LaTeX when LaTeX issues a package warning to that effect.
  • Python Value Nodes are now printed correctly in --debug=explain output.
  • Saving and restoring an Options value of 'all' has been fixed on Python
    versions where all() is a builtin function.
  • SCons now generates Python function action signatures on all Python versions.

IMPROVEMENTS

  • Code for reading SConscript files has been sped up by 20% (in some
    configurations).
  • The default stack size for -j worker threads has been reduced to 256 Kbytes.
  • The CheckTypeSize() code has been improved.
  • Subclasses of the new-style "str" class can now be used as Builder input.
  • Type-checking with new-style classes has been sped up.
  • The performance of setting construction variables has been improved.
  • The Chmod(), Delete(), Mkdir() and Touch() Action factories can now take
    a lists of Nodes or strings as arguments.
  • The Scanner.Classic class has a new find_include_names() method to allow
    for better subclassing.

DOCUMENTATION

  • All the values that can get set/fetched with SetOption()/GetOption()
    are now documented.
  • The Dir(), File() and Entry() methods of Dir and File Nodes are documented.

ACKNOWLEDGEMENTS

Thanks to Benoit Belley, Jérôme Berger, Konstantin Bozhikov, David
Cournapeau, Steven Knight, Rob Managan, Leanid Nazdrynau, Jan Nijtmans,
Greg Noel, Gary Oberbrunner, Jonas Olsson, Jim Randall, Adam Simpkins,
Vaclav Smilauer, Daniel Svensson, and Ben Webb for their contributions
to this release.

On behalf of the SCons team,

-- Gary Oberbrunner

Posted by Gary Oberbrunner 2008-04-01

Log in to post a comment.