-RELEASE 0.96.94 - Sun, 07 Jan 2007 18:36:20 -0600
+RELEASE 0.XX - XXX
- NOTE: This is a pre-release of 0.97 for testing purposes.
+ From Steven Knight:
- From Anonymous:
+ - Fix the wix Tool module to handle null entries in $PATH variables.
- - Allow arbitrary white space after a SWIG %module declaration.
+ - Move the documentation of Install() and InstallAs() from the list
+ of functions to the list of Builders (now that they're implemented
+ as such).
- From Paul:
+ - Allow env.CacheDir() to be set per construction environment. The
+ global CacheDir() function now sets an overridable global default.
- - 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.).
+RELEASE 0.97.0d20070809 - Fri, 10 Aug 2007 10:51:27 -0500
- From Walter Franzini:
+ From Lars Albertsson:
- - Exclude additional Debian packaging files from the copyright check.
+ - Don't error if a #include line happens to match a directory
+ somewhere on a path (like $CPPPATH, $FORTRANPATH, etc.).
- From Fawad Halim:
+ From Mark Bertoglio:
- - Handle the conflict between the impending Python 2.6 'as' keyword
- and our Tool/as.py module name.
+ - 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:
- - Speed up the Node.FS.Dir.rel_path() method used to generate path names
- that get put into the .sconsign* file(s).
+ - Have --debug=explain report if a target is being rebuilt because
+ AlwaysBuild() is specified (instead of "unknown reasons").
- - Optimize Node.FS.Base.get_suffix() by computing the suffix once, up
- front, when we set the Node's name. (Duh...)
+ - Support {Get,Set}Option('help') to make it easier for SConscript
+ files to tell if a help option (-h, --help, etc.) has been specified.
- - 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.
+ - Support {Get,Set}Option('random') so random-dependency interaction
+ with CacheDir() is controllable from SConscript files.
- - 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.
+ - Add a new AddOption() function to support user-defined command-
+ line flags (like --prefix=, --force, etc.).
- - Reduce some unnecessary stat() calls from on-disk entry type checks.
+ - Push and retrieve built symlinks to/from a CacheDir() as actual
+ symlinks, not by copying the file contents.
- - Fix SideEffect() when used with -j, which was badly broken in 0.96.93.
+ - Fix how the Action module handles stringifying the shared library
+ generator in the Tool/mingw.py module.
- - Propagate TypeError exceptions when evaluating construction variable
- expansions up the stack, so users can see what's going on.
+ - When generating a config.h file, print "#define HAVE_{FEATURE} 1"
+ instad of just "#define HAVE_{FEATURE}", for more compatibility
+ with Autoconf-style projects.
- - 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.
+ - 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.
- - 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.
+ - 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).
- - Allow the f90.py and f95.py Tool modules to compile earlier source
- source files of earlier Fortran version.
+ - Fix the --debug=time option when the -j option is specified and all
+ files are up to date.
- - Fix storing signatures of files retrieved from CacheDir() so they're
- correctly identified as up-to-date next invocation.
+ - Add a $SWIGOUTDIR variable to allow setting the swig -outdir option,
+ and use it to identify files created by the swig -java option.
- - 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).
+ - 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.
- - Enhance the bootstrap.py script to allow it to be used to execute
- SCons more easily from a checked-out source tree.
+ - More efficient copying of construction environments (mostly borrowed
+ from copy.deepcopy() in the standard Python library).
- From Ben Leslie:
+ - When printing --tree=prune output, don't print [brackets] around
+ source files, only do so for built targets with children.
- - Fix post-Memoizer value caching misspellings in Node.FS._doLookup().
+ - Fix interpretation of Builder source arguments when the Builder has
+ a src_suffix *and* a source_builder and the argument has no suffix.
- From Rob Managan, Dmitry Mikhin and Joel B. Mohler:
+ - Fix use of expansions like ${TARGET.dir} or ${SOURCE.dir} in the
+ following construction variables: $FORTRANMODDIR, $JARCHDIR,
+ $JARFLAGS, $LEXFLAGS, $SWIGFLAGS, $SWIGOUTDIR and $YACCFLAGS.
- - Handle TeX/LaTeX files in subdirectories by changing directory
- before invoking TeX/LaTeX.
+ - Fix dependencies on Java files generated by SWIG so they can be
+ detected and built in one pass.
- - Scan LaTeX files for \bibliography lines.
+ - Fix SWIG when used with a BuildDir().
- - Support multiple file names in a "\bibliography{file1,file2}" string.
+ From Leanid Nazdrynau:
- - Handle TeX warnings about undefined citations.
+ - When applying Tool modules after a construction environment has
+ already been created, don't overwrite existing $CFILESUFFIX and
+ $CXXFILESUFFIX value.
- - Support re-running LaTeX if necessary due to a Table of Contents.
+ - Support passing the Java() builder a list of explicit .java files
+ (not only a list of directories to be scanned for .java files).
- From Dmitry Mikhin:
+ - 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.)
- - Return LaTeX if "Rerun to get citations correct" shows up on the next
- line after the "Warning:" string.
+ - 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:
- - Add #include lines to fix portability issues in two tests.
+ - Fix a code example in the man page.
- - Eliminate some unnecessary os.path.normpath() calls.
+ From Tilo Prutz:
- - Add a $CFLAGS variable for C-specific options, leaving $CCFLAGS
- for options common to C and C++.
+ - 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 Tom Parker:
+ From Adam Simpkins:
- - Have the error message print the missing file that Qt can't find.
+ - Allow worker threads to terminate gracefully when all jobs are
+ finished.
- From John Pye:
+ From Sohail Somani:
- - Fix env.MergeFlags() appending to construction variable value of None.
+ - Add LaTeX scanner support for finding dependencies specified with
+ the \usepackage{} directive.
- 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:
+RELEASE 0.97 - Thu, 17 May 2007 08:59:41 -0500
- - Give the 'lex' tool knowledge of the additional target files produced
- by the flex "--header-file=" and "--tables-file=" options.
+ From Steven Knight:
- - Give the 'yacc' tool knowledge of the additional target files produced
- by the bison "-g", "--defines=" and "--graph=" options.
+ - 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.
- - Generate intermediate files with Objective C file suffixes (.m) when
- the lex and yacc source files have appropriate suffixes (.lm and .ym).
+ - Make sure the DirEntryScanner doesn't choke if it's handed something
+ that's not a directory (Node.FS.Dir) Node.
- From Sohail Somain:
- - Have the mslink.py Tool only look for a 'link' executable on Windows
- systems.
- From Vaclav Smilauer:
+RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
- - Add support for a "srcdir" keyword argument when calling a Builder,
- which will add a srcdir prefix to all non-relative string sources.
+ NOTE: This is (Yet) a(nother) pre-release of 0.97 for testing purposes.
- From Jonathan Ultis:
+ From Joe Bloggs:
- - Allow Options converters to take the construction environment as
- an optional argument.
+ - 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.
-RELEASE 0.96.93 - Mon, 06 Nov 2006 00:44:11 -0600
+ 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.