scons-all-branches / Announcement.txt

SCons checkpoint release 1.2.0.d20090223 is now available at the SCons
download page:

This checkpoint provides early access to new features and fixes
scheduled for release in SCons 1.3.0.


- This checkpoint release notably contains completely new code for
  detecting installed versions of Microsoft Visual C/C++.  The new code
  has been tested extensively, but it is possible that it will fail to
  find installed versions on configurations that we don't have available
  for testing.  Please report *any* problems with support for Microsoft
  Visual C/C++ as soon as possible so that we can diagnose and fix
  them before releasing SCons 1.3.0.

- Python versions prior to 2.4 are supported by SCons 1.2.0, but are
  officially deprecated and will generate a disableable warning message.
  We plan to remove support for these older versions in SCons 2.0.
  If removing this support would cause a problem for you, please contact
  the mailing list.

- The following deprecated features will still be supported in 1.3.0
  but will generate mandatory, non-disableable warnings:

    --  Support for Python versions 1.5, 1.6, 2.0, 2.1, 2.2, and 2.3.
    --  The overrides= keyword argument to the Builder() call.
    --  The scanner= keyword argument to the Builder() call.
    --  The BuildDir() function and env.BuildDir() method.
    --  The env.Copy() method.
    --  The SourceSignatures() function and
        env.SourceSignatures() method.
    --  The TargetSignatures() function and
        env.TargetSignatures() method.
    --  The Sig module (now an unnused stub).
    --  The --debug=dtree, --debug=stree and --debug=tree options.
    --  The --debug=nomemoizer option.
    --  The Options object and the related BoolOption(), EnumOption(),
        ListOption(), PackageOption() and PathOption() functions.


For a complete description of important changes since other recent
releases, see:

For a complete list of changes in all releases, see the official
change log:

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 all changes since the 1.1.0 release:


- SCons now supports batch compilation of Visual Studio C/C++ source
  files when the new $MSVC_BATCH construction variable is set.
  and $UNCHANGED_TARGETS variables provide finer-grained control
  over what source or targets to pass to a command line.
- A new batch_key= keyword argument to Action object creation supports
  general batched builds.
- A new --warn=future-deprecated option provides advance warnings about
  future deprecated features that still have warnings hidden by default.
- Visual Studio 8 project files can now be generated for 64-bit platforms.
- Visual Studio & Visual C++ now support TARGET_OS, TARGET_ARCH for
  cross-compiling to x86, x86_64, ia64


- $CCFLAGS is no longer included in the default definitions of $CXXFLAGS
  for Visual C/C++ and MIPSpro C++ on SGI (to match other tools and
  avoid flag duplication on C++ command lines).
- The $CCFLAGS variable is now passed to Visual C/C++ precompiled header
- Scanning files encoded in utf-8 and utf-16 for implicit dependencies
  is now supported.
- Linker tools modules now differentiate properly between the SharedLibrary
  and LoadableModule Builders.
- Don't automatically try to build .pdf graphics files for .eps files in
  \includegraphics{} calls in TeX/LaTeX files when building with the PDF
  builder (and thus using pdflatex).
- Setting WINDOWS_INSERT_DEF=0 now disables --output-def when linking
  under MinGW.
- AppendENVPath() and PrependENVPath() now interpret '#' in paths
  relative to the top-level SConstruct directory.
- The message, "scons: Build interrupted." is no printed on error output,
  not standard output.
- Quoted module names in SWIG source files are no handled correctly.
- Suffix-matching for scanners is now case-insensitive on Windows.
- Generated Visual Studio 8 project files now work better with
  IntelliSense, by defining IncludeSearchPath and PreprocessorDefinitions.
- Unnecessary nested $( $) strings around $_LIBDIRFLAGS have been removed
  from the default command lines for the Microsoft linker, the OS/2
  ilink linker and the Phar Lap linkloc linker.
- SCons now internally spells the Windows environment variables
  "SystemDrive" and "SystemRoot" (instead of "SYSTEMDRIVE" and
- Major revamp of Visual Studio/Visual C++ logic for locating and
  configuring available version on the machine.


- The $CHANGED_SOURCES variable now correctly includes files whose
  corresponding targets don't exist.
- The $CHANGED_SOURCES variable now works correctly with the
  --config=force option.
- $SOURCE and $SOURCES attributes now work even when there are no
  sources specified in the Builder call.
- $SWIGOUTDIR values with spaces now work properly.
- Fix use of $SWIGOUTDIR when generating Python wrappers.
- Add $SWIGDIRECTORSUFFIX and $SWIGVERSION construction variables.
- The Borland ilink linker now uses the -e option to specify the output
  file name.
- SCons now correctly identifies shared libraries and shared object files
  in a Repository.
- Implicit command dependencies are detected even when the first argument
  is quoted on the command line.
- #include file names that contain escaped backslashes (\\) are now
  handled correctly.
- Have AddOption() remove variables from the list of
  seen-but-unknown variables (which are reported later).
- An option name and aliases can now be specified as a tuple.
- Textfile builder.
- Fix the -n option when used with VariantDir(duplicate=1)
  and the variant directory doesn't already exist.
- Fix scanning of Unicode files for both UTF-16 endian flavors.
- Fix a TypeError on #include of file names with Unicode characters.
- Fix an exception if a null command-line argument is passed in.
- Evaluate Requires() prerequisites before a Node's direct children
  (sources and dependencies).
- Remove redundant __metaclass__ initializations in
- Fix SWIG testing infrastructure to work on Mac OS X.
- Substfile builder.
- When reporting a target that SCons doesn't know how to make,
  specify whether it's a File, Dir, etc.
- Add -recorder flag to Latex commands and updated internals to
  use the output to find files TeX creates. This allows the MiKTeX
  installations to find the created files
- Notify user of Latex errors that would get buried in the
  Latex output
- Remove LATEXSUFFIXES from environments that don't initialize Tex.
- Add support for the glosaaries package for glossaries and acronyms
- Fix problem that pdftex, latex, and pdflatex tools by themselves did
  not create the actions for bibtex, makeindex,... by creating them
  and other environment settings in one routine called by all four
  tex tools.
- Fix problem with filenames of sideeffects when the user changes
  the name of the output file from the latex default


- The TestCommon.shobj_prefix variable is now documented.
- Document that the msvc Tool module uses $PCH, $PCHSTOP and $PDB.
- The User's Guide has had numerous typos fixed and other corrections.
- Document that filenames with '.' as the first character are
  ignored by Glob() by default (matching UNIX glob semantics).
- Correct the documentation of text returned by sconf.Result().

Thanks to Stanislav Baranov, David Cornapeau, Robert P.J. Day, 
Lukas Erlinghagen, Allan Erskine, Hartmut Goebel, Jared Grubb, 
Mateusz Gruca, Jim Hunziker, Ted Johnson, Jason Kenney, Steven Knight, 
Arve Knudsen, Rob Managan, Greg Noel, Gary Oberbrunner, Zia Sobhani, 
Greg Spencer, Roberto de Vecchi, Ben Webb and Matthew Wesley, 
Steven Knight for their contributions to this release.

On behalf of the SCons team,