-RELEASE 0.97 - XXX
+RELEASE 0.XX - XXX
+
+ From Steven Knight:
+
+ - Fix the wix Tool module to handle null entries in $PATH variables.
+
+ - Move the documentation of Install() and InstallAs() from the list
+ of functions to the list of Builders (now that they're implemented
+ as such).
+
+ - Allow env.CacheDir() to be set per construction environment. The
+ global CacheDir() function now sets an overridable global default.
+
+
+
+RELEASE 0.97.0d20070809 - Fri, 10 Aug 2007 10:51:27 -0500
+
+ From Lars Albertsson:
+
+ - Don't error if a #include line happens to match a directory
+ somewhere on a path (like $CPPPATH, $FORTRANPATH, etc.).
+
+ From Mark Bertoglio:
+
+ - Fix listing multiple projects in Visual Studio 7.[01] solution files,
+ including generating individual project GUIDs instead of re-using
+ the solution GUID.
+
+ From Jean Brouwers:
+
+ - Add /opt/SUNWspro/bin to the default execution PATH on Solaris.
+
+ From Allan Erskine:
+
+ - Only expect the Microsoft IDL compiler to emit *_p.c and *_data.c
+ files if the /proxy and /dlldata switches are used (respectively).
+
+ From Steven Knight:
+
+ - Have --debug=explain report if a target is being rebuilt because
+ AlwaysBuild() is specified (instead of "unknown reasons").
+
+ - Support {Get,Set}Option('help') to make it easier for SConscript
+ files to tell if a help option (-h, --help, etc.) has been specified.
+
+ - Support {Get,Set}Option('random') so random-dependency interaction
+ with CacheDir() is controllable from SConscript files.
+
+ - Add a new AddOption() function to support user-defined command-
+ line flags (like --prefix=, --force, etc.).
+
+ - Push and retrieve built symlinks to/from a CacheDir() as actual
+ symlinks, not by copying the file contents.
+
+ - Fix how the Action module handles stringifying the shared library
+ generator in the Tool/mingw.py module.
+
+ - When generating a config.h file, print "#define HAVE_{FEATURE} 1"
+ instad of just "#define HAVE_{FEATURE}", for more compatibility
+ with Autoconf-style projects.
+
+ - Fix expansion of $TARGET, $TARGETS, $SOURCE and $SOURCES keywords in
+ Visual C/C++ PDB file names.
+
+ - Fix locating Visual C/C++ PDB files in build directories.
+
+ - Support an env.AddMethod() method and an AddMethod() global function
+ for adding a new method, respectively, to a construction environment
+ or an arbitrary object (such as a class).
+
+ - Fix the --debug=time option when the -j option is specified and all
+ files are up to date.
+
+ - Add a $SWIGOUTDIR variable to allow setting the swig -outdir option,
+ and use it to identify files created by the swig -java option.
+
+ - Add a $SWIGPATH variable that specifies the path to be searched
+ for included SWIG files, Also add related $SWIGINCPREFIX and
+ $SWIGINCSUFFIX variables that specify the prefix and suffix to
+ be be added to each $SWIGPATH directory when expanded on the SWIG
+ command line.
+
+ - More efficient copying of construction environments (mostly borrowed
+ from copy.deepcopy() in the standard Python library).
+
+ - When printing --tree=prune output, don't print [brackets] around
+ source files, only do so for built targets with children.
+
+ - Fix interpretation of Builder source arguments when the Builder has
+ a src_suffix *and* a source_builder and the argument has no suffix.
+
+ - Fix use of expansions like ${TARGET.dir} or ${SOURCE.dir} in the
+ following construction variables: $FORTRANMODDIR, $JARCHDIR,
+ $JARFLAGS, $LEXFLAGS, $SWIGFLAGS, $SWIGOUTDIR and $YACCFLAGS.
+
+ - Fix dependencies on Java files generated by SWIG so they can be
+ detected and built in one pass.
+
+ - Fix SWIG when used with a BuildDir().
+
+ From Leanid Nazdrynau:
+
+ - When applying Tool modules after a construction environment has
+ already been created, don't overwrite existing $CFILESUFFIX and
+ $CXXFILESUFFIX value.
+
+ - Support passing the Java() builder a list of explicit .java files
+ (not only a list of directories to be scanned for .java files).
+
+ - Support passing .java files to the Jar() and JavaH() builders, which
+ then use the builder underlying the Java() builder to turn them into
+ .class files. (That is, the Jar()-Java() chain of builders become
+ multi-step, like the Program()-Object()-CFile() builders.)
+
+ - Support passing SWIG .i files to the Java builders (Java(),
+ Jar(), JavaH()), to cause intermediate .java files to be created
+ automatically.
+
+ - Add $JAVACLASSPATH and $JAVASOURCEPATH variables, that get added to
+ the javac "-classpath" and "-sourcepath" options. (Note that SCons
+ does *not* currently search these paths for implicit dependencies.)
+
+ - Commonize initialization of Java-related builders.
+
+ From Jan Nijtmans:
+
+ - Find Java anonymous classes when the next token after the name is
+ an open parenthesis.
+
+ From Gary Oberbrunner:
+
+ - Fix a code example in the man page.
+
+ From Tilo Prutz:
+
+ - Add support for the file names that Java 1.5 (and 1.6) generates for
+ nested anonymous inner classes, which are different from Java 1.4.
+
+ From Adam Simpkins:
+
+ - Allow worker threads to terminate gracefully when all jobs are
+ finished.
+
+ From Sohail Somani:
+
+ - Add LaTeX scanner support for finding dependencies specified with
+ the \usepackage{} directive.
+
+
+
+RELEASE 0.97 - Thu, 17 May 2007 08:59:41 -0500
+
+ From Steven Knight:
+
+ - Fix a bug that would make parallel builds stop in their tracks if
+ Nodes that depended on lists that contained some Nodes built together
+ caused the reference count to drop below 0 if the Nodes were visited
+ and commands finished in the wrong order.
+
+ - Make sure the DirEntryScanner doesn't choke if it's handed something
+ that's not a directory (Node.FS.Dir) Node.
+
+
+
+RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
+
+ NOTE: This is (Yet) a(nother) pre-release of 0.97 for testing purposes.
+
+ From Joe Bloggs:
+
+ - Man page fix: remove cut-and-paste sentence in NoCache() description.
+
+ From Dmitry Grigorenko and Gary Oberbrunner:
+
+ - Use the Intel C++ compiler, not $CC, to link C++ source.
+
+ From Helmut Grohne:
+
+ - Fix the man page example of propagating a user's external environment.
+
+ From Steven Knight:
+
+ - Back out (most of) the Windows registry installer patch, which
+ seems to not work on some versions of Windows.
+
+ - Don't treat Java ".class" attributes as defining an inner class.
+
+ - Fix detecting an erroneous Java anonymous class when the first
+ non-skipped token after a "new" keyword is a closing brace.
+
+ - Fix a regression when a CPPDEFINES list contains a tuple, the second
+ item of which (the option value) is a construction variable expansion
+ (e.g. $VALUE) and the value of the variable isn't a string.
+
+ - Improve the error message if an IOError (like trying to read a
+ directory as a file) occurs while deciding if a node is up-to-date.
+
+ - Fix "maximum recursion" / "unhashable type" errors in $CPPPATH
+ PathList expansion if a subsidiary expansion yields a stringable,
+ non-Node object.
+
+ - Generate API documentation from the docstrings (using epydoc).
+
+ - Fix use of --debug=presub with Actions for out-of-the-box Builders.
+
+ - Fix handling nested lists within $CPPPATH, $LIBPATH, etc.
+
+ - Fix a "builders_used" AttributeError that real-world Qt initialization
+ triggered in the refactored suffix handling for Builders.
+
+ - Make the reported --debug=time timings meaningful when used with -j.
+ Better documentation of what the times mean.
+
+ - User Guide updates: --random, AlwaysBuild(), --tree=,
+ --debug=findlibs, --debug=presub, --debug=stacktrace,
+ --taskmastertrace.
+
+ - Document (in both man page and User's Guide) that --implicit-cache
+ ignores changes in $CPPPATH, $LIBPATH, etc.
+
+ From Jean-Baptiste Lab:
+
+ - Remove hard-coded dependency on Python 2.2 from Debian packaging files.
+
+ From Jeff Mahovsky:
+
+ - Handle spaces in the build target name in Visual Studio project files.
+
+ From Rob Managan:
+
+ - Re-run LaTeX after BibTeX has been re-run in response to a changed
+ .bib file.
+
+ From Joel B. Mohler:
+
+ - Make additional TeX auxiliary files (.toc, .idx and .bbl files)
+ Precious so their removal doesn't affect whether the necessary
+ sections are included in output PDF or PostScript files.
+
+ From Gary Oberbrunner:
+
+ - Fix the ability to import modules in the site_scons directory from
+ a subdirectory.
+
+ From Adam Simpkins:
+
+ - Make sure parallel (-j) builds all targets even if they show up
+ multiple times in the child list (as a source and a dependency).
+
+ From Matthias Troffaes:
+
+ - Don't re-run TeX if the triggering strings (\makeindex, \bibliography
+ \tableofcontents) are commented out.
+
+ From Richard Viney:
+
+ - Fix use of custom include and lib paths with Visual Studio 8.
+
+ - Select the default .NET Framework SDK Dir based on the version of
+ Visual Studio being used.
+
+
+
+RELEASE 0.96.95 - Mon, 12 Feb 2007 20:25:16 -0600
+
+ From Anatoly:
+
+ - Add the scons.org URL and a package description to the setup.py
+ arguments.
+
+ - Have the Windows installer add a registry entry for scons.bat in the
+ "App Paths" key, so scons.bat can be executed without adding the
+ directory to the %PATH%. (Python itself works this way.)
+
+ From Anonymous:
+
+ - Fix looking for default paths in Visual Studio 8.0 (and later).
+
+ - Add -lm to the list of default D libraries for linking.
+
+ From Matt Doar:
+
+ - Provide a more complete write-your-own-Scanner example in the man page.
+
+ From Ralf W. Grosse-Kunstleve:
+
+ - Contributed upstream Python change to our copied subprocess.py module
+ for more efficient standard input processing.
+
+ From Steven Knight:
+
+ - Fix the Node.FS.Base.rel_path() method when the two nodes are on
+ different drive letters. (This caused an infinite loop when
+ trying to write .sconsign files.)
+
+ - Fully support Scanners that use a dictionary to map file suffixes
+ to other scanners.
+
+ - Support delayed evaluation of the $SPAWN variable to allow selection
+ of a function via ${} string expansions.
+
+ - Add --srcdir as a synonym for -Y/--repository.
+
+ - Document limitations of #include "file.h" with Repository().
+
+ - Fix use of a toolpath under the source directory of a BuildDir().
+
+ - Fix env.Install() with a file name portion that begins with '#'.
+
+ - Fix ParseConfig()'s handling of multiple options in a string that's
+ replaced a *FLAGS construction variable.
+
+ - Have the C++ tools initialize common C compilation variables ($CCFLAGS,
+ $SHCCFLAGS and $_CCCOMCOM) even if the 'cc' Tool isn't loaded.
+
+ From Leanid Nazdrynau:
+
+ - Fix detection of Java anonymous classes if a newline precedes the
+ opening brace.
+
+ From Gary Oberbrunner:
+
+ - Document use of ${} to execute arbitrary Python code.
+
+ - Add support for:
+ 1) automatically adding a site_scons subdirectory (in the top-level
+ SConstruct directory) to sys.path (PYTHONPATH);
+ 2) automatically importing site_scons/site_init.py;
+ 3) automatically adding site_scons/site_tools to the toolpath.
+
+ From John Pye:
+
+ - Change ParseConfig() to preserve white space in arguments passed in
+ as a list.
+
+ From a smith:
+
+ - Fix adding explicitly-named Java inner class files (and any
+ other file names that may contain a '$') to Jar files.
+
+ From David Vitek:
+
+ - Add a NoCache() function to mark targets as unsuitable for propagating
+ to (or retrieving from) a CacheDir().
+
+ From Ben Webb:
+
+ - If the swig -noproxy option is used, it won't generate a .py file,
+ so don't emit it as a target that we expect to be built.
+
+
+
+RELEASE 0.96.94 - Sun, 07 Jan 2007 18:36:20 -0600
+
+ NOTE: This is a pre-release of 0.97 for testing purposes.
+
+ From Anonymous:
+
+ - Allow arbitrary white space after a SWIG %module declaration.
+
+ From Paul:
+
+ - When compiling resources under MinGW, make sure there's a space
+ between the --include-dir option and its argument.
+
+ From Jay Kint:
+
+ - Alleviate long command line issues on Windows by executing command
+ lines directly via os.spawnv() if the command line doesn't need
+ shell interpretation (has no pipes, redirection, etc.).
+
+ From Walter Franzini:
+
+ - Exclude additional Debian packaging files from the copyright check.
+
+ From Fawad Halim:
+
+ - Handle the conflict between the impending Python 2.6 'as' keyword
+ and our Tool/as.py module name.
+
+ From Steven Knight:
+
+ - Speed up the Node.FS.Dir.rel_path() method used to generate path names
+ that get put into the .sconsign* file(s).
+
+ - Optimize Node.FS.Base.get_suffix() by computing the suffix once, up
+ front, when we set the Node's name. (Duh...)
+
+ - Reduce the Memoizer's responsibilities to simply counting hits and
+ misses when the --debug=memoizer option is used, not to actually
+ handling the key calculation and memoization itself. This speeds
+ up some configurations significantly, and should cause no functional
+ differences.
+
+ - Add a new scons-time script with subcommands for generating
+ consistent timing output from SCons configurations, extracting
+ various information from those timings, and displaying them in
+ different formats.
+
+ - Reduce some unnecessary stat() calls from on-disk entry type checks.
+
+ - Fix SideEffect() when used with -j, which was badly broken in 0.96.93.
+
+ - Propagate TypeError exceptions when evaluating construction variable
+ expansions up the stack, so users can see what's going on.
+
+ - When disambiguating a Node.FS.Entry into a Dir or File, don't look
+ in the on-disk source directory until we've confirmed there's no
+ on-disk entry locally and there *is* one in the srcdir. This avoids
+ creating a phantom Node that can interfere with dependencies on
+ directory contents.
+
+ - Add an AllowSubstExceptions() function that gives the SConscript
+ files control over what exceptions cause a string to expand to ''
+ vs. terminating processing with an error.
+
+ - Allow the f90.py and f95.py Tool modules to compile earlier source
+ source files of earlier Fortran version.
+
+ - Fix storing signatures of files retrieved from CacheDir() so they're
+ correctly identified as up-to-date next invocation.
+
+ - Make sure lists of computed source suffixes cached by Builder objects
+ don't persist across changes to the list of source Builders (so the
+ addition of suffixes like .ui by the qt.py Tool module take effect).
+
+ - Enhance the bootstrap.py script to allow it to be used to execute
+ SCons more easily from a checked-out source tree.
+
+ From Ben Leslie:
+
+ - Fix post-Memoizer value caching misspellings in Node.FS._doLookup().
+
+ From Rob Managan, Dmitry Mikhin and Joel B. Mohler:
+
+ - Handle TeX/LaTeX files in subdirectories by changing directory
+ before invoking TeX/LaTeX.
+
+ - Scan LaTeX files for \bibliography lines.
+
+ - Support multiple file names in a "\bibliography{file1,file2}" string.
+
+ - Handle TeX warnings about undefined citations.
+
+ - Support re-running LaTeX if necessary due to a Table of Contents.
+
+ From Dmitry Mikhin:
+
+ - Return LaTeX if "Rerun to get citations correct" shows up on the next
+ line after the "Warning:" string.
+
+ From Gary Oberbrunner:
+
+ - Add #include lines to fix portability issues in two tests.
+
+ - Eliminate some unnecessary os.path.normpath() calls.
+
+ - Add a $CFLAGS variable for C-specific options, leaving $CCFLAGS
+ for options common to C and C++.
+
+ From Tom Parker:
+
+ - Have the error message print the missing file that Qt can't find.
+
+ From John Pye:
+
+ - Fix env.MergeFlags() appending to construction variable value of None.
+
+ From Steve Robbins:
+
+ - Fix the "sconsign" script when the .sconsign.dblite file is explicitly
+ specified on the command line (and not intuited from the old way of
+ calling it with just ".sconsign").
+
+ From Jose Pablo Ezequiel "Pupeno" Fernandez Silva:
+
+ - Give the 'lex' tool knowledge of the additional target files produced
+ by the flex "--header-file=" and "--tables-file=" options.
+
+ - Give the 'yacc' tool knowledge of the additional target files produced
+ by the bison "-g", "--defines=" and "--graph=" options.
+
+ - Generate intermediate files with Objective C file suffixes (.m) when
+ the lex and yacc source files have appropriate suffixes (.lm and .ym).
+
+ From Sohail Somain:
+
+ - Have the mslink.py Tool only look for a 'link' executable on Windows
+ systems.
+
+ From Vaclav Smilauer:
+
+ - Add support for a "srcdir" keyword argument when calling a Builder,
+ which will add a srcdir prefix to all non-relative string sources.
+
+ From Jonathan Ultis:
+
+ - Allow Options converters to take the construction environment as
+ an optional argument.
+
+
+
+RELEASE 0.96.93 - Mon, 06 Nov 2006 00:44:11 -0600
+
+ NOTE: This is a pre-release of 0.97 for testing purposes.
+
+ From Anonymous:
+
+ - Allow Python Value Nodes to be Builder targets.
+
+ From Matthias:
+
+ - Only filter Visual Studio common filename prefixes on complete
+ directory names.
+
+ From Chad Austin:
+
+ - Fix the build of the SCons documentation on systems that don't
+ have "python" in the $PATH.
+
+ From Ken Boortz:
+
+ - Enhance ParseConfig() to recognize options that begin with '+'.
+
+ From John Calcote, Elliot Murphy:
+
+ - Document ways to override the CCPDBFLAGS variable to use the
+ Microsoft linker's /Zi option instead of the default /Z7.
+
+ From Christopher Drexler:
+
+ - Make SCons aware bibtex must be called if any \include files
+ cause creation of a bibliography.
+
+ - Make SCons aware that "\bilbiography" in TeX source files means
+ that related .bbl and .blg bibliography files will be created.
+ (NOTE: This still needs to search for the string in \include files.)
+
+ From David Gruener:
+
+ - Fix inconsistent handling of Action strfunction arguments.
+
+ - Preserve white space in display Action strfunction strings.
+
+ From James Y. Knight and Gerard Patel:
+
+ - Support creation of shared object files from assembly language.
+
+ From Steven Knight:
+
+ - Speed up the Taskmaster significantly by avoiding unnecessary
+ re-scans of Nodes to find out if there's work to be done, having it
+ track the currently-executed top-level target directly and not
+ through its presence on the target list, and eliminating some other
+ minor list(s), method(s) and manipulation.
+
+ - Fix the expansion of $TARGET and $SOURCE in the expansion of
+ $INSTALLSTR displayed for non-environment calls to InstallAs().
+
+ - Fix the ability to have an Alias() call refer to a directory
+ name that's not identified as a directory until later.
+
+ - Enhance runtest.py with an option to use QMTest as the harness.
+ This will become the default behavior as we add more functionality
+ to the QMTest side.
+
+ - Let linking on mingw use the default function that chooses $CC (gcc)
+ or $CXX (g++) depending on whether there are any C++ source files.
+
+ - Work around a bug in early versions of the Python 2.4 profile module
+ that caused the --profile= option to fail.
+
+ - Only call Options validators and converters once when initializing a
+ construction environment.
+
+ - Fix the ability of env.Append() and env.Prepend(), in all known Python
+ versions, to handle different input value types when the construction
+ variable being updated is a dictionary.
+
+ - Add a --cache-debug option for information about what files it's
+ looking for in a CacheDir().
+
+ - Document the difference in construction variable expansion between
+ {Action,Builder}() and env.{Action,Builder}().
+
+ - Change the name of env.Copy() to env.Clone(), keeping the old name
+ around for backwards compatibility (with the intention of eventually
+ phasing it out to avoid confusion with the Copy() Action factory).
+
+ From Arve Knudsen:
+
+ - Support cleaning and scanning SWIG-generated files.
+
+ From Carsten Koch:
+
+ - Allow selection of Visual Studio version by setting $MSVS_VERSION
+ after construction environment initialization.
+
+ From Jean-Baptiste Lab:
+
+ - Try using zipimport if we can't import Tool or Platform modules
+ using the normal "imp" module. This allows SCons to be packaged
+ using py2exe's all-in-one-zip-file approach.
+
+ From Ben Liblit:
+
+ - Do not re-scan files if the scanner returns no implicit dependencies.
+
+ From Sanjoy Mahajan:
+
+ - Change use of $SOURCES to $SOURCE in all TeX-related Tool modules.
+
+ From Joel B. Mohler:
+
+ - Make SCons aware that "\makeindex" in TeX source files means that
+ related .ilg, .ind and .idx index files will be created.
+ (NOTE: This still needs to search for the string in \include files.)
+
+ - Prevent scanning the TeX .aux file for additional files from
+ trying to remove it twice when the -c option is used.
+
+ From Leanid Nazdrynau:
+
+ - Give the MSVC RES (resource) Builder a src_builder list and a .rc
+ src_suffix so other builders can generate .rc files.
+
+ From Matthew A. Nicholson:
+
+ - Enhance Install() and InstallAs() to handle directory trees as sources.
+
+ From Jan Nijtmans:
+
+ - Don't use the -fPIC flag when using gcc on Windows (e.g. MinGW).
+
+ From Greg Noel:
+
+ - Add an env.ParseFlags() method that provides separate logic for
+ parsing GNU tool chain flags into a dictionary.
+
+ - Add an env.MergeFlags() method to apply an arbitrary dictionary
+ of flags to a construction environment's variables.
+
+ From Gary Oberbrunner:
+
+ - Fix parsing tripartite Intel C compiler version numbers on Linux.
+
+ - Extend the ParseConfig() function to recognize -arch and
+ -isysroot options.
+
+ - Have the error message list the known suffixes when a Builder call
+ can't build a source file with an unknown suffix.
+
+ From Karol Pietrzak:
+
+ - Avoid recursive calls to main() in the program snippet used by the
+ SConf subsystem to test linking against libraries. This changes the
+ default behavior of CheckLib() and CheckLibWithHeader() to print
+ "Checking for C library foo..." instead of "Checking for main()
+ in C library foo...".
+
+ From John Pye:
+
+ - Throw an exception if a command called by ParseConfig() or
+ ParseFlags() returns an error.
+
+ From Stefan Seefeld:
+
+ - Initial infrastructure for running SCons tests under QMTest.
+
+ From Sohail Somani:
+
+ - Fix tests that fail due to gcc warnings.
+
+ From Dobes Vandermeer:
+
+ - In stack traces, print the full paths of SConscript files.
+
+ From Atul Varma:
+
+ - Fix detection of Visual C++ Express Edition.
+
+ From Dobes Vandermeer:
+
+ - Let the src_dir option to the SConscript() function affect all the
+ the source file paths, instead of treating all source files paths
+ as relative to the SConscript directory itself.
+
+ From Nicolas Vigier:
+
+ - Fix finding Fortran modules in build directories.
+
+ - Fix use of BuildDir() when the source file in the source directory
+ is a symlink with a relative path.
+
+ From Edward Wang:
+
+ - Fix the Memoizer when the SCons Python modules are executed from
+ .pyo files at different locations from where they were compiled.
+
+ From Johan Zander:
+
+ - Fix missing os.path.join() when constructing the $FRAMEWORKSDKDIR/bin.
+
+
+
+RELEASE 0.96.92 - Mon, 10 Apr 2006 21:08:22 -0400
+
+ NOTE: This was a pre-release of 0.97 for testing purposes.
From Anonymous:
- - Fix Java parsing to avoid erroneously identifying a new array
- of class instances as an anonymous inner class.
+ - Fix the intelc.py Tool module to not throw an exception if the
+ only installed version is something other than ia32.
+
+ - Set $CCVERSION when using gcc.
+
+ From Matthias:
+
+ - Support generating project and solution files for Microsoft
+ Visual Studio version 8.
+
+ - Support generating more than one project file for a Microsoft
+ Visual Studio solution file.
+
+ - Add support for a support "runfile" parameter to Microsoft
+ Visual Studio project file creation.
+
+ - Put the project GUID, not the solution GUID, in the right spot
+ in the solution file.
+
+ From Erling Andersen:
+
+ - Fix interpretation of Node.FS objects wrapped in Proxy instances,
+ allowing expansion of things like ${File(TARGET)} in command lines.
+
+ From Stanislav Baranov:
+
+ - Add a separate MSVSSolution() Builder, with support for the
+ following new construction variables: $MSVSBUILDCOM, $MSVSCLEANCOM,
+ $MSVSENCODING, $MSVSREBUILDCOM, $MSVSSCONS, $MSVSSCONSCOM,
+ $MSVSSCONSFLAGS, $MSVSSCONSCRIPT and $MSVSSOLUTIONCOM.
+
+ From Ralph W. Grosse-Kunstleve and Patrick Mezard:
+
+ - Remove unneceesary (and incorrect) SCons.Util strings on some function
+ calls in SCons.Util.
+
+ From Bob Halley:
+
+ - Fix C/C++ compiler selection on AIX to not always use the external $CC
+ environment variable.
+
+ From August Hörandl:
+
+ - Add a scanner for \include and \import files, with support for
+ searching a directory list in $TEXINPUTS (imported from the external
+ environment).
+
+ - Support $MAKEINDEX, $MAKEINDEXCOM, $MAKEINDEXCOMSTR and
+ $MAKEINDEXFLAGS for generating indices from .idx files.
+
+ From Steven Johnson:
+
+ - Add a NoClean() Environment method and function to override removal
+ of targets during a -c clean, including documentation and tests.
+
+ From Steven Knight:
+
+ - Check for whether files exist on disk by listing the directory
+ contents, not calling os.path.exists() file by file. This is
+ somewhat more efficient in general, and may be significantly
+ more efficient on Windows.
+
+ - Minor speedups in the internal is_Dict(), is_List() and is_String()
+ functions.
+
+ - Fix a signature refactoring bug that caused Qt header files to
+ get re-generated every time.
+
+ - Don't fail when writing signatures if the .sconsign.dblite file is
+ owned by a different user (e.g. root) from a previous run.
+
+ - When deleting variables from stacked OverrideEnvironments, don't
+ throw a KeyError if we were able to delte the variable from any
+ Environment in the stack.
+
+ - Get rid of the last indentation tabs in the SCons source files and
+ add -tt to the Python invocations in the packaging build and the
+ tests so they don't creep back in.
+
+ - In Visual Studio project files, put quotes around the -C directory
+ so everything works even if the path has spaces in it.
+
+ - The Intel Fortran compiler uses -object:$TARGET, not "-o $TARGET",
+ when building object files on Windows. Have the the ifort Tool
+ modify the default command lines appropriately.
+
+ - Document the --debug=explain option in the man page. (How did we
+ miss this?)
+
+ - Add a $LATEXRETRIES variable to allow configuration of the number of
+ times LaTex can be re-called to try to resolve undefined references.
+
+ - Change the order of the arguments to Configure.Checklib() to match
+ the documentation.
+
+ - Handle signature calculation properly when the Python function used
+ for a FunctionAction is an object method.
+
+ - On Windows, assume that absolute path names without a drive letter
+ refer to the drive on which the SConstruct file lives.
+
+ - Add /usr/ccs/bin to the end of the the default external execution
+ PATH on Solaris.
- - Fix a typo in the man page description of PathIsDirCreate.
+ - Add $PKGCHK and $PKGINFO variables for use on Solaris when searching
+ for the SunPRO C++ compiler. Make the default value for $PKGCHK
+ be /usr/sbin/pgkchk (since /usr/sbin isn't usually on the external
+ execution $PATH).
- From Chad Austin:
+ - Fix a man page example of overriding variables when calling
+ SharedLibrary() to also set the $LIBSUFFIXES variable.
- - Allow Help() to be called multiple times, appending to the help
- text each call.
+ - Add a --taskmastertrace=FILE option to give some insight on how
+ the taskmaster decides what Node to build next.
- - Allow Tools found on a toolpath to import Python modules from
- their local directory.
+ - Changed the names of the old $WIN32DEFPREFIX, $WIN32DEFSUFFIX,
+ $WIN32DLLPREFIX and $WIN32IMPLIBPREFIX construction variables to
+ new $WINDOWSDEFPREFIX, $WINDOWSDEFSUFFIX, $WINDOWSDLLPREFIX and
+ $WINDOWSIMPLIBPREFIX construction variables. The old names are now
+ deprecated, but preserved for backwards compatibility.
+
+ - Fix (?) a runtest.py hang on Windows when the --xml option is used.
+
+ - Change the message when an error occurs trying to interact with the
+ file system to report the target(s) in square brackets (as before) and
+ the actual file or directory that encountered the error afterwards.
+
+ From Chen Lee:
+
+ - Add x64 support for Microsoft Visual Studio 8.
+
+ From Baptiste Lepilleur:
+
+ - Support the --debug=memory option on Windows when the Python version
+ has the win32process and win32api modules.
+
+ - Add support for Visual Studio 2005 Pro.
+
+ - Fix portability issues in various tests: test/Case.py,
+ Test/Java/{JAR,JARCHDIR,JARFLAGS,JAVAC,JAVACFLAGS,JAVAH,RMIC}.py,
+ test/MSVS/vs-{6.0,7.0,7.1,8.0}-exec.py,
+ test/Repository/{Java,JavaH,RMIC}.py,
+ test/QT/{generated-ui,installed,up-to-date,warnings}.py,
+ test/ZIP/ZIP.py.
+
+ - Ignore pkgchk errors on Solaris when searching for the C++ compiler.
+
+ - Speed up the SCons/EnvironmentTests.py unit tests.
+
+ - Add a --verbose= option to runtest.py to print executed commands
+ and their output at various levels.
+
+ From Christian Maaser:
+
+ - Add support for Visual Studio Express Editions.
+
+ - Add support for Visual Studio 8 *.manifest files, includng
+ new $WINDOWS_INSERT_MANIFEST, $WINDOWSPROGMANIFESTSUFFIX,
+ $WINDOWSPROGMANIFESTPREFIX, $WINDOWSPROGMANIFESTSUFFIX,
+ $WINDOWSSHLIBMANIFESTPREFIX and $WINDOWSSHLIBMANIFESTSUFFIX
+ construction variables.
+
+ From Adam MacBeth:
+
+ - Fix detection of additional Java inner classes following use of a
+ "new" keyword inside an inner class.
+
+ From Sanjoy Mahajan:
+
+ - Correct TeX-related command lines to just $SOURCE, not $SOURCES
+
+ From Patrick Mezard:
+
+ - Execute build commands for a command-line target if any of the
+ files built along with the target is out of date or non-existent,
+ not just if the command-line target itself is out of date.
+
+ - Fix the -n option when used with -c to print all of the targets
+ that will be removed for a multi-target Builder call.
+
+ - If there's no file in the source directory, make sure there isn't
+ one in the build directory, too, to avoid dangling files left
+ over from previous runs when a source file is removed.
+
+ - Allow AppendUnique() and PrependUnique() to append strings (and
+ other atomic objects) to lists.
+
+ From Joel B. Mohler:
+
+ - Extend latex.py, pdflatex.py, pdftex.py and tex.py so that building
+ from both TeX and LaTeX files uses the same logic to call $BIBTEX
+ when it's necessary, to call $MAKEINDEX when it's necessary, and to
+ call $TEX or $LATEX multiple times to handle undefined references.
+
+ - Add an emitter to the various TeX builders so that the generated
+ .aux and .log files also get deleted by the -c option.
+
+ From Leanid Nazdrynau:
+
+ - Fix the Qt UIC scanner to work with generated .ui files (by using
+ the FindFile() function instead of checking by-hand for the file).
+
+ From Jan Nieuwenhuizen:
+
+ - Fix a problem with interpreting quoted argument lists on command lines.
+
+ From Greg Noel:
+
+ - Add /sw/bin to the default execution PATH on Mac OS X.
+
+ From Kian Win Ong:
+
+ - When building a .jar file and there is a $JARCHDIR, put the -C
+ in front of each .class file on the command line.
+
+ - Recognize the Java 1.5 enum keyword.
+
+ From Asfand Yar Qazi:
+
+ - Add /opt/bin to the default execution PATH on all POSIX platforms
+ (between /usr/local/bin and /bin).
+
+ From Jon Rafkind:
+
+ - Fix the use of Configure() contexts from nested subsidiary
+ SConscript files.
+
+ From Christoph Schulz:
+
+ - Add support for $CONFIGUREDIR and $CONFIGURELOG variables to control
+ the directory and logs for configuration tests.
+
+ - Add support for a $INSTALLSTR variable.
+
+ - Add support for $RANLIBCOM and $RANLIBCOMSTR variables (which fixes
+ a bug when setting $ARCOMSTR).
+
+ From Amir Szekely:
+
+ - Add use of $CPPDEFINES to $RCCOM (resource file compilation) on MinGW.
+
+ From Erick Tryzelaar:
+
+ - Fix the error message when trying to report that a given option is
+ not gettable/settable from an SConscript file.
+
+ From Dobes Vandermeer:
+
+ - Add support for SCC and other settings in Microsoft Visual
+ Studio project and solution files: $MSVS_PROJECT_BASE_PATH,
+ $MSVS_PROJECT_GUID, $MSVS_SCC_AUX_PATH, $MSVS_SCC_LOCAL_PATH,
+ $MSVS_SCC_PROJECT_NAME, $MSVS_SCC_PROVIDER,
+
+ - Add support for using a $SCONS_HOME variable (imported from the
+ external environment, or settable internally) to put a shortened
+ SCons execution line in the Visual Studio project file.
+
+ From David J. Van Maren:
+
+ - Only filter common prefixes from source files names in Visual Studio
+ project files if the prefix is a complete (sub)directory name.
+
+ From Thad Ward:
+
+ - If $MSVSVERSIONS is already set, don't overwrite it with
+ information from the registry.
+
+
+
+RELEASE 0.96.91 - Thu, 08 Sep 2005 07:18:23 -0400
+
+ NOTE: This was a pre-release of 0.97 for testing purposes.
+
+ From Chad Austin:
- Have the environment store the toolpath and re-use it to find Tools
modules during later Copy() or Tool() calls (unless overridden).
files so the same signature file can interoperate on Windows and
non-Windows systems.
+ - Make --debug=stacktrace print a stacktrace when a UserError is thrown.
+
+ - Remove an old, erroneous cut-and-paste comment in Scanner/Dir.py.
+
From Stanislav Baranov:
- Make it possible to support with custom Alias (sub-)classes.
- Allow Builders to take empty source lists when called.
+ - Allow access to both TARGET and SOURCE in $*PATH expansions.
+
+ - Allow SConscript files to modify BUILD_TARGETS.
+
From Timothee Besset:
- Add support for Objective C/C++ .m and .mm file suffixes (for
Mac OS X).
+ From Charles Crain
+
+ - Fix the PharLap linkloc.py module to use target+source arguments
+ when calling env.subst().
+
+ From Bjorn Eriksson:
+
+ - Fix an incorrect Command() keyword argument in the man page.
+
+ - Add a $TEMPFILEPREFIX variable to control the prefix or flag used
+ to pass a long-command-line-execution tempfile to a command.
+
+ From Steven Knight:
+
+ - Enhanced the SCons setup.py script to install man pages on
+ UNIX/Linux systems.
+
+ - Add support for an Options.FormatOptionHelpText() method that can
+ be overridden to customize the format of Options help text.
+
+ - Add a global name for the Entry class (which had already been
+ documented).
+
+ - Fix re-scanning of generated source files for implicit dependencies
+ when the -j option is used.
+
+ - Fix a dependency problem that caused $LIBS scans to not be added
+ to all of the targets in a multiple-target builder call, which
+ could cause out-of-order builds when the -j option is used.
+
+ - Store the paths of source files and dependencies in the .sconsign*
+ file(s) relative to the target's directory, not relative to the
+ top-level SConstruct directory. This starts to make it possible to
+ subdivide the dependency tree arbitrarily by putting an SConstruct
+ file in every directory and using content signatures.
+
+ - Add support for $YACCHFILESUFFIX and $YACCHXXFILESUFFIX variables
+ that accomodate parser generators that write header files to a
+ different suffix than the hard-coded .hpp when the -d option is used.
+
+ - The default behavior is now to store signature information in a
+ single .sconsign.dblite file in the top-level SConstruct directory.
+ The old behavior of a separate .sconsign file in each directory can
+ be specified by calling SConsignFile(None).
+
+ - Remove line number byte codes within the signature calculation
+ of Python function actions, so that changing the location of an
+ otherwise unmodified Python function doesn't cause rebuilds.
+
+ - Fix AddPreAction() and AddPostAction() when an action has more than
+ one target file: attach the actions to the Executor, not the Node.
+
+ - Allow the source directory of a BuildDir / build_dir to be outside
+ of the top-level SConstruct directory tree.
+
+ - Add a --debug=nomemoizer option that disables the Memoizer for clearer
+ looks at the counts and profiles of the underlying function calls,
+ not the Memoizer wrappers.
+
+ - Print various --debug= stats even if we exit early (e.g. using -h).
+
+ - Really only use the cached content signature value if the file
+ is older than --max-drift, not just if --max-drift is set.
+
+ - Remove support for conversion from old (pre 0.96) .sconsign formats.
+
+ - Add support for a --diskcheck option to enable or disable various
+ on-disk checks: that File and Dir nodes match on-disk entries;
+ whether an RCS file exists for a missing source file; whether an
+ SCCS file exists for a missing source file.
+
+ - Add a --raw argument to the sconsign script, so it can print a
+ raw representation of each entry's NodeInfo dictionary.
+
+ - Add the 'f90' and 'f95' tools to the list of Fortran compilers
+ searched for by default.
+
+ - Add the +Z option by default when compiling shared objects on
+ HP-UX.
+
+ From Chen Lee:
+
+ - Handle Visual Studio project and solution files in Unicode.
+
+ From Sanjoy Mahajan:
+
+ - Fix a bad use of Copy() in an example in the man page, and a
+ bad regular expression example in the man page and User's Guide.
+
+ From Shannon Mann:
+
+ - Have the Visual Studio project file(s) echo "Starting SCons" before
+ executing SCons, mainly to work around a quote-stripping bug in
+ (some versions of?) the Windows cmd command executor.
+
+ From Georg Mischler:
+
+ - Remove the space after the -o option when invoking the Borland
+ BCC compiler; some versions apparently require that the file name
+ argument be concatenated with the option.
+
+ From Leanid Nazdrynau:
+
+ - Fix the Java parser's handling of backslashes in strings.
+
+ From Greg Noel:
+
+ - Add construction variables to support frameworks on Mac OS X:
+ $FRAMEWORKS, $FRAMEWORKPREFIX, $FRAMEWORKPATH, $FRAMEWORKPATHPREFIX.
+
+ - Re-order link lines so the -o option always comes right after the
+ command name.
+
+ From Gary Oberbrunner:
+
+ - Add support for Intel C++ beta 9.0 (both 32 and 64 bit versions).
+
+ - Document the new $FRAMEWORK* variables for Mac OS X.
+
+ From Karol Pietrzak:
+
+ - Add $RPATH (-R) support to the Sun linker Tool (sunlink).
+
+ - Add a description of env.subst() to the man page.
+
+ From Chris Prince:
+
+ - Look in the right directory, not always the local directory, for a
+ same-named file or directory conflict on disk.
+
+ - On Windows, preserve the external environment's %SYSTEMDRIVE%
+ variable, too.
+
+ From Craig Scott:
+
+ - Have the Fortran module emitter look for Fortan modules to be created
+ relative to $FORTRANMODDIR, not the top-level directory.
+
+ - When saving Options to a file, run default values through the
+ converter before comparing them with the set values. This correctly
+ suppresses Boolean Option values from getting written to the saved
+ file when they're one of the many synonyms for a default True or
+ False value.
+
+ - Fix the Fortran Scanner's ability to handle a module being used
+ in the same file in which it is defined.
+
+ From Steve-o:
+
+ - Add the -KPIC option by default when compiling shared objects on
+ Solaris.
+
+ - Change the default suffix for Solaris objects to .o, to conform to
+ Sun WorkShop's expectations. Change the profix to so_ so they can
+ still be differentiated from static objects in the same directory.
+
+ From Amir Szekely:
+
+ - When calling the resource compiler on MinGW, add --include-dir and
+ the source directory so it finds the source file.
+
+ - Update EnsureSConsVersion() to support revision numbers.
+
+ From Greg Ward:
+
+ - Fix a misplaced line in the man page.
+
+
+
+RELEASE 0.96.90 - Tue, 15 Feb 2005 21:21:12 +0000
+
+ NOTE: This was a pre-release of 0.97 for testing purposes.
+
+ From Anonymous:
+
+ - Fix Java parsing to avoid erroneously identifying a new array
+ of class instances as an anonymous inner class.
+
+ - Fix a typo in the man page description of PathIsDirCreate.
+
+ From Chad Austin:
+
+ - Allow Help() to be called multiple times, appending to the help
+ text each call.
+
+ - Allow Tools found on a toolpath to import Python modules from
+ their local directory.
+
From Steve Christensen:
- Handle exceptions from Python functions as build actions.
- Add a set of canned PathOption validators: PathExists (the default),
PathIsFile, PathIsDir and PathIsDirCreate.
- Charles Crain
-
- - Fix the PharLap linkloc.py module to use target+source arguments
- when calling env.subst().
-
From Matthew Doar:
- Add support for .lex and .yacc file suffixes for Lex and Yacc files.
is old enough at this point that it probably isn't worth the
effort to make it do so.
- - Enhanced the SCons setup.py script to install man pages on
- UNIX/Linux systems.
-
- - Add support for an Options.FormatOptionHelpText() method that can
- be overridden to customize the format of Options help text.
-
- - Add a global name for the Entry class (which had already been
- documented).
-
- - Fix re-scanning of generated source files for implicit dependencies
- when the -j option is used.
-
- - Fix a dependency problem that caused $LIBS scans to not be added
- to all of the targets in a multiple-target builder call, which
- could cause out-of-order builds when the -j option is used.
-
- - Store the paths of source files and dependencies in the .sconsign*
- file(s) relative to the target's directory, not relative to the
- top-level SConstruct directory. This starts to make it possible to
- subdivide the dependency tree arbitrarily by putting an SConstruct
- file in every directory and using content signatures.
-
- - Add support for $YACCHFILESUFFIX and $YACCHXXFILESUFFIX variables
- that accomodate parser generators that write header files to a
- different suffix than the hard-coded .hpp when the -d option is used.
-
- - The default behavior is now to store signature information in a
- single .sconsign.dblite file in the top-level SConstruct directory.
- The old behavior of a separate .sconsign file in each directory can
- be specified by calling SConsignFile(None).
-
From Wayne Lee:
- Avoid "maximum recursion limit" errors when removing $(-$) pairs
- Make ParseConfig() recognize and add -mno-cygwin to $LINKFLAGS and
$CCFLAGS, and -mwindows to $LINKFLAGS.
- From Sanjoy Mahajan:
-
- - Fix a bad use of Copy() in an example in the man page, and a
- bad regular expression example in the man page and User's Guide.
-
From Michael McCracken:
- Add a new "applelink" tool to handle the things like Frameworks and
- Improve SWIG tests for use on Mac OS X (Darwin).
- From Georg Mischler:
-
- - Remove the space after the -o option when invoking the Borland
- BCC compiler; some versions apparently require that the file name
- argument be concatenated with the option.
-
From Elliot Murphy:
- Enhance the tests to guarantee persistence of ListOption
- Documentation changes: Update the man page to describe use of
filenames or Nodes in $LIBS.
- - Add support for Intel C++ beta 9.0 (both 32 and 64 bit versions).
-
From Chris Pawling:
- Have the linkloc tool use $MSVS_VERSION to select the Microsoft
Visual Studio version to use.
- From Karol Pietrzak:
-
- - Add $RPATH (-R) support to the Sun linker Tool (sunlink).
-
From Kevin Quick:
- Fix the Builder name returned from ListBuilders and other instances
- Allow $JARCHDIR to be expanded to other construction variables.
- From Amir Szekely:
-
- - When calling the resource compiler on MinGW, add --include-dir and
- the source directory so it finds the source file.
-
- From Greg Ward:
-
- - Fix a misplaced line in the man page.
-
From Christoph Wiedemann:
- Add an Environment.SetDefault() method that only sets values if
-RELEASE 0.96.1 - XXX
+RELEASE 0.96.1 - Mon, 23 Aug 2004 12:55:50 +0000
From Craig Bachelor: