Add SWIG support.
[scons.git] / src / CHANGES.txt
index 14db4fba4deb0812e0fd703a2ccca1baf7064254..795b29d2e1f9fe0e7cf58cd054e8412a1616c95f 100644 (file)
@@ -8,7 +8,398 @@
 
 
 
-RELEASE 0.12 - XXX
+RELEASE 0.XX - XXX
+
+  From Chad Austin:
+
+  - Support specifying a list of tools when calling Environment.Copy().
+
+  - Give a Value Nodes a timestamp of the system time when they're
+    created, so they'll work when using timestamp-based signatures.
+
+  - Add a DefaultEnvironment() function that only creates a default
+    environment on-demand (for fetching source files, e.g.).
+
+  - Portability fix for test/M4.py.
+
+  From Steven Knight:
+
+  - Tighten up the scons -H help output.
+
+  - When the input yacc file ends in .yy and the -d flag is specified,
+    recognize that a .hpp file (not a .h file) will be created.
+
+  - Make builder prefixes work correctly when deducing a target
+    from a source file name in another directory.
+
+  - Documentation fixes: typo in the man page; explain up-front about
+    not propagating the external environment.
+
+  - Use "cvs co -d" instead of "cvs co -p >" when checking out something
+    from CVS with a specified module name.  This avoids zero-length
+    files when there is a checkout error.
+
+  - Add an "sconsign" script to print the contents of .sconsign files.
+
+  - Speed up maintaining the various lists of Node children by using
+    dictionaries to avoid "x in list" searches.
+
+  - Cache the computed list of Node children minus those being Ignored
+    so it's only calculated once.
+
+  - Fix use of the --cache-show option when building a Program()
+    (or using any other arbitrary action) by making sure all Action
+    instances have strfunction() methods.
+
+  - Allow the source of Command() to be a directory.
+
+  - Better error handling of things like raw TypeErrors in SConscripts.
+
+  - When installing using "setup.py install --prefix=", suppress the
+    distutils warning message about adding the (incorrect) library
+    directory to your search path.
+
+  - Correct the spelling of the "validater" option to "validator."
+    Add a DeprecatedWarning when the old spelling is used.
+
+  - Allow a Builder's emitter to be a dictionary that maps source file
+    suffixes to emitter functions, using the suffix of the first file
+    in the source list to pick the right one.
+
+  - Refactor the creation of the Program, *Object and *Library Builders
+    so that they're moved out of SCons.Defaults and created on demand.
+
+  - Don't split SConscript file names on white space.
+
+  - Document the SConscript function's "dirs" and "name" keywords.
+
+  - Remove the internal (and superfluous) SCons.Util.argmunge() function.
+
+  - Add /TP to the default CXXFLAGS for msvc, so it can compile all
+    of the suffixes we use as C++ files.
+
+  - Allow the "prefix" and "suffix" attributes of a Builder to be
+    callable objects that return generated strings, or dictionaries
+    that map a source file suffix to the right prefix/suffix.
+
+  - Support a MAXLINELINELENGTH construction variable on Win32 systems
+    to control when a temporary file is used for long command lines.
+
+  - Make how we build .rpm packages not depend on the installation
+    locations from the distutils being used.
+
+  - When deducing a target Node, create it directly from the first
+    source Node, not by trying to create the right string to pass to
+    arg2nodes().
+
+  - Add support for SWIG.
+
+  From Gary Oberbrunner:
+
+  - Report the target being built in error messages when building
+    multiple sources from different extensions, or when the target file
+    extension can't be deduced, or when we don't have an action for a
+    file suffix.
+
+  - Provide helpful error messages when the arguments to env.Install()
+    are incorrect.
+
+  - Fix the value returned by the Node.prevsiginfo() method to conform
+    to a previous change when checking whether a node is current.
+
+  - Supply a stack trace if the Taskmaster catches an exception.
+
+  - When using a temporary file for a long link line on Win32 systems,
+    (also) print the command line that is being executed through the
+    temporary file.
+
+  - Initialize the LIB environment variable when using the Intel
+    compiler (icl).
+
+  - Documentation fixes:  better explain the AlwaysBuild() function.
+
+  From Laurent Pelecq:
+
+  - When the -debug=pdb option is specified, use pdb.Pdb().runcall() to
+    call pdb directly, don't call Python recursively.
+
+  From Ben Scott:
+
+  - Add support for a platform-independent CPPDEFINES variable.
+
+  From Christoph Wiedemann:
+
+  - Have the g++ Tool actually use g++ in preference to c++.
+
+  - Have the gcc Tool actually use gcc in preference to cc.
+
+  - Add a gnutools.py test of the GNU tool chain.
+
+  - Be smarter about linking: use $CC by default and $CXX only if we're
+    linking with any C++ objects.
+
+  - Avoid SCons hanging when a piped command has a lot of output to read.
+
+  - Add QT support for preprocessing .ui files into .c files.
+
+
+
+RELEASE 0.90 - Wed, 25 Jun 2003 14:24:52 -0500
+
+  From Chad Austin:
+
+  - Fix the _concat() documentation, and add a test for it.
+
+  - Portability fixes for non-GNU versions of lex and yacc.
+
+  From Matt Balvin:
+
+  - Fix handling of library prefixes when the subdirectory matches
+    the prefix.
+
+  From Timothee Bessett:
+
+  - Add an M4 Builder.
+
+  From Charles Crain:
+
+  - Use '.lnk' as the suffix on the temporary file for linking long
+    command lines (necessary for the Phar Lap linkloc linker).
+
+  - Save non-string Options values as their actual type.
+
+  - Save Options string values that contain a single quote correctly.
+
+  - Save any Options values that are changed from the default
+    Environment values, not just ones changed on the command line or in
+    an Options file.
+
+  - Make closing the Options file descriptor exception-safe.
+
+  From Steven Knight:
+
+  - SCons now enforces (with an error) that construction variables
+    must have the same form as valid Python identifiers.
+
+  - Fix man page bugs: remove duplicate AddPostAction() description;
+    document no_import_lib; mention that CPPFLAGS does not contain
+    $_CPPINCFLAGS; mention that F77FLAGS does not contain $_F77INCFLAGS;
+    mention that LINKFLAGS and SHLINKFLAGS contains neither $_LIBFLAGS
+    nor $_LIBDIRFLAGS.
+
+  - Eliminate a dependency on the distutils.fancy_getopt module by
+    copying and pasting its wrap_text() function directly.
+
+  - Make the Script.Options() subclass match the underlying base class
+    implementation.
+
+  - When reporting a target is up to date, quote the target like make
+    (backquote-quote) instead of with double quotes.
+
+  - Fix handling of ../* targets when using -U, -D or -u.
+
+  From Steve Leblanc:
+
+  - Don't update the .sconsign files when run with -n.
+
+  From Gary Oberbrunner:
+
+  - Add support for the Intel C Compiler (icl.exe).
+
+  From Anthony Roach
+
+  - Fix Import('*').
+
+  From David Snopek
+
+  - Fix use of SConf in paths with white space in them.
+
+  - Add CheckFunc and CheckType functionality to SConf.
+
+  - Fix use of SConf with Builders that return a list of nodes.
+
+  From David Snopek and Christoph Wiedemann
+
+  - Fix use of the SConf subsystem with SConscriptChdir().
+
+  From Greg Spencer
+
+  - Check for the existence of MS Visual Studio on disk before using it,
+    to avoid getting fooled by leftover junk in the registry.
+
+  - Add support for MSVC++ .NET.
+
+  - Add support for MS Visual Studio project files (DSP, DSW,
+    SLN and VCPROJ files).
+
+  From Christoph Wiedemann
+
+  - SConf now works correctly when the -n and -q options are used.
+
+
+
+RELEASE 0.14 - Wed, 21 May 2003 05:16:32 -0500
+
+  From Chad Austin:
+
+  - Use .dll (not .so) for shared libraries on Cygwin; use -fPIC
+    when compiling them.
+
+  - Use 'rm' to remove files under Cygwin.
+
+  - Add a PLATFORM variable to construction environments.
+
+  - Remove the "platform" argument from tool specifications.
+
+  - Propogate PYTHONPATH when running the regression tests so distutils
+    can be found in non-standard locations.
+
+  - Using MSVC long command-line linking when running Cygwin.
+
+  - Portability fixes for a lot of tests.
+
+  - Add a Value Node class for dependencies on in-core Python values.
+
+  From Allen Bierbaum:
+
+  - Pass an Environment to the Options validator method, and
+    add an Options.Save() method.
+
+  From Steve Christensen:
+
+  - Add an optional sort function argument to the GenerateHelpText()
+    Options function.
+
+  - Evaluate the "varlist" variables when computing the signature of a
+    function action.
+
+  From Charles Crain:
+
+  - Parse the source .java files for class names (including inner class
+    names) to figure out the target .class files that will be created.
+
+  - Make Java support work with Repositories and SConscriptChdir(0).
+
+  - Pass Nodes, not strings, to Builder emitter functions.
+
+  - Refactor command-line interpolation and signature calculation
+    so we can use real Node attributes.
+
+  From Steven Knight:
+
+  - Add Java support (javac, javah, jar and rmic).
+
+  - Propagate the external SYSTEMROOT environment variable into ENV on
+    Win32 systems, so external commands that use sockets will work.
+
+  - Add a .posix attribute to PathList expansions.
+
+  - Check out CVS source files using POSIX path names (forward slashes
+    as separators) even on Win32.
+
+  - Add Node.clear() and Node.FS.Entry.clear() methods to wipe out a
+    Node's state, allowing it to be re-evaluated by continuous
+    integration build interfaces.
+
+  - Change the name of the Set{Build,Content}SignatureType() functions
+    to {Target,Source}Signatures().  Deprecate the old names but support
+    them for backwards compatibility.
+
+  - Add internal SCons.Node.FS.{Dir,File}.Entry() methods.
+
+  - Interpolate the null string if an out-of-range subscript is used
+    for a construction variable.
+
+  - Fix the internal Link function so that it properly links or copies
+    files in subsidiary BuildDir directories.
+
+  - Refactor the internal representation of a single execution instance
+    of an action to eliminate redundant signature calculations.
+
+  - Eliminate redundant signature calculations for Nodes.
+
+  - Optimize out calling hasattr() before accessing attributes.
+
+  - Say "Cleaning targets" (not "Building...") when the -c option is
+    used.
+
+  From Damyan Pepper:
+
+  - Quote the "Entering directory" message like Make.
+
+  From Stefan Reichor:
+
+  - Add support for using Ghostscript to convert Postscript to PDF files.
+
+  From Anthony Roach:
+
+  - Add a standalone "Alias" function (separate from an Environment).
+
+  - Make Export() work for local variables.
+
+  - Support passing a dictionary to Export().
+
+  - Support Import('*') to import everything that's been Export()ed.
+
+  - Fix an undefined exitvalmap on Win32 systems.
+
+  - Support new SetOption() and GetOption() functions for setting
+    various command-line options from with an SConscript file.
+
+  - Deprecate the old SetJobs() and GetJobs() functions in favor of
+    using the new generic {Set,Get}Option() functions.
+
+  - Fix a number of tests that searched for a Fortran compiler using the
+    external PATH instead of what SCons would use.
+
+  - Fix the interaction of SideEffect() and BuildDir() so that (for
+    example) PDB files get put correctly in a BuildDir().
+
+  From David Snopek:
+
+  - Contribute the "Autoscons" code for Autoconf-like checking for
+    the existence of libraries, header files and the like.
+
+  - Have the Tool() function add the tool name to the $TOOLS
+    construction variable.
+
+  From Greg Spencer:
+
+  - Support the C preprocessor #import statement.
+
+  - Allow the SharedLibrary() Builder on Win32 systems to be able to
+    register a newly-built dll using regsvr32.
+
+  - Add a Builder for Windows type library (.tlb) files from IDL files.
+
+  - Add an IDL scanner.
+
+  - Refactor the Fortran, C and IDL scanners to share common logic.
+
+  - Add .srcpath and .srcdir attributes to $TARGET and $SOURCE.
+
+  From Christoph Wiedemann:
+
+  - Integrate David Snopek's "Autoscons" code as the new SConf
+    configuration subsystem, including caching of values between
+    runs (using normal SCons dependency mechanisms), tests, and
+    documentation.
+
+
+
+RELEASE 0.13 - Mon, 31 Mar 2003 20:22:00 -0600
+
+  From Charles Crain:
+
+  - Fix a bug when BuildDir(duplicate=0) is used and SConscript
+    files are called from within other SConscript files.
+
+  - Support (older) versions of Perforce which don't set the Windows
+    registry.
+
+
+
+RELEASE 0.12 - Thu, 27 Mar 2003 23:52:09 -0600
 
   From Charles Crain: