Add Java RMIC support.
[scons.git] / src / CHANGES.txt
index 4e1ffec0b446537c0d214686a526ad60b54b13e0..7717ce645697a362607db7b48c2865ae21a14305 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2001, 2002 Steven Knight
+# __COPYRIGHT__
 # __FILE__ __REVISION__ __DATE__ __DEVELOPER__
 
 
@@ -8,7 +8,337 @@
 
 
 
-RELEASE 0.10 - XXX
+RELEASE 0.14 - XXX
+
+  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.
+
+  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.
+
+  From David Snopek:
+
+  - Contribute the "Autoscons" code for Autoconf-like checking for
+    the existence of libraries, header files and the like.
+
+  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:
+
+  - Added support for the Perforce source code management system.
+
+  - Fix str(Node.FS) so that it returns a path relative to the calling
+    SConscript file's directory, not the top-level directory.
+
+  - Added support for a separate src_dir argument to SConscript()
+    that allows explicit specification of where the source files
+    for an SConscript file can be found.
+
+  - Support more easily re-usable flavors of command generators by
+    calling callable variables when strings are expanded.
+
+  From Steven Knight:
+
+  - Added an INSTALL construction variable that can be set to a function
+    to control how the Install() and InstallAs() Builders install files.
+    The default INSTALL function now copies, not links, files.
+
+  - Remove deprecated features:  the "name" argument to Builder objects,
+    and the Environment.Update() method.
+
+  - Add an Environment.SourceCode() method to support fetching files
+    from source code systems.  Add factory methods that create Builders
+    to support BitKeeper, CVS, RCS, and SCCS.  Add support for fetching
+    files from RCS or SCCS transparently (like GNU Make).
+
+  - Make the internal to_String() function more efficient.
+
+  - Make the error message the same as other build errors when there's a
+    problem unlinking a target file in preparation for it being built.
+
+  - Make TARGET, TARGETS, SOURCE and SOURCES reserved variable names and
+    warn if the user tries to set them in a construction environment.
+
+  - Add support for Tar and Zip files.
+
+  - Better documentation of the different ways to export variables to a
+    subsidiary SConscript file.  Fix documentation bugs in a tools
+    example, places that still assumed SCons split strings on white
+    space, and typos.
+
+  - Support fetching arbitrary files from the TARGETS or SOURCES lists
+    (e.g. ${SOURCES[2]}) when calculating the build signature of a
+    command.
+
+  - Don't silently swallow exceptions thrown by Scanners (or other
+    exceptions while finding a node's dependent children).
+
+  - Push files to CacheDir() before calling the superclass built()
+    method (which may clear the build signature as part of clearing
+    cached implicit dependencies, if the file has a source scanner).
+    (Bug reported by Jeff Petkau.)
+
+  - Raise an internal error if we attempt to push a file to CacheDir()
+    with a build signature of None.
+
+  - Add an explicit Exit() function for terminating early.
+
+  - Change the documentation to correctly describe that the -f option
+    doesn't change to the directory in which the specified file lives.
+    
+  - Support changing directories locally with SConscript directory
+    path names relative to any SConstruct file specified with -f.
+    This allows you to build in another directory by simply changing
+    there and pointing at the SConstruct file in another directory.
+
+  - Change the default SConscriptChdir() behavior to change to the
+    SConscript directory while it's being read.
+
+  - Fix an exception thrown when the -U option was used with no
+    Default() target specified.
+
+  - Fix -u so that it builds things in corresponding build directories
+    when used in a source directory.
+
+  From Lachlan O'Dea:
+
+  - Add SharedObject() support to the masm tool.
+
+  - Fix WhereIs() to return normalized paths.
+
+  From Jeff Petkau:
+
+  - Don't copy a built file to a CacheDir() if it's already there.
+
+  - Avoid partial copies of built files in a CacheDir() by copying
+    to a temporary file and renaming.
+
+  From Anthony Roach:
+
+  - Fix incorrect dependency-cycle errors when an Aliased source doesn't
+    exist.
+
+
+
+RELEASE 0.11 - Tue, 11 Feb 2003 05:24:33 -0600
+
+  From Chad Austin:
+
+  - Add support for IRIX and the SGI MIPSPro tool chain.
+
+  - Support using the MSVC tool chain when running Cygwin Python.
+
+  From Michael Cook:
+
+  - Avoid losing signal bits in the exit status from a command,
+    helping terminate builds on interrupt (CTRL+C).
+
+  From Charles Crain:
+
+  - Added new AddPreAction() and AddPostAction() functions that support
+    taking additional actions before or after building specific targets.
+
+  - Add support for the PharLap ETS tool chain.
+
+  From Steven Knight:
+
+  - Allow Python function Actions to specify a list of construction
+    variables that should be included in the Action's signature.
+
+  - Allow libraries in the LIBS variable to explicitly include the prefix
+    and suffix, even when using the GNU linker.
+    (Bug reported by Neal Becker.)
+
+  - Use DOS-standard CR-LF line endings in the scons.bat file.
+    (Bug reported by Gary Ruben.)
+
+  - Doc changes:  Eliminate description of deprecated "name" keyword
+    argument from Builder definition (reported by Gary Ruben).
+
+  - Support using env.Append() on BUILDERS (and other dictionaries).
+    (Bug reported by Bj=F6rn Bylander.)
+
+  - Setting the BUILDERS construction variable now properly clears
+    the previous Builder attributes from the construction Environment.
+    (Bug reported by Bj=F6rn Bylander.)
+
+  - Fix adding a prefix to a file when the target isn't specified.
+    (Bug reported by Esa Ilari Vuokko.)
+
+  - Clean up error messages from problems duplicating into read-only
+    BuildDir directories or into read-only files.
+
+  - Add a CommandAction.strfunction() method, and add an "env" argument
+    to the FunctionAction.strfunction() method, so that all Action
+    objects have strfunction() methods, and the functions for building
+    and returning a string both take the same arguments.
+
+  - Add support for new CacheDir() functionality to share derived files
+    between builds, with related options --cache-disable, --cache-force,
+    and --cache-show.
+
+  - Change the default behavior when no targets are specified to build
+    everything in the current directory and below (like Make).  This
+    can be disabled by specifying Default(None) in an SConscript.
+
+  - Revamp SCons installation to fix a case-sensitive installation
+    on Win32 systems, and to add SCons-specific --standard-lib,
+    --standalone-lib, and --version-lib options for easier user
+    control of where the libraries get installed.
+
+  - Fix the ability to directly import and use Platform and Tool modules
+    that have been implicitly imported into an Environment().
+
+  - Add support for allowing an embedding interface to annotate a node
+    when it's created.
+
+  - Extend the SConscript() function to accept build_dir and duplicate
+    keyword arguments that function like a BuildDir() call.
+
+  From Steve Leblanc:
+
+  - Fix the output of -c -n when directories are involved, so it
+    matches -c.
+
+  From Anthony Roach:
+
+  - Use a different shared object suffix (.os) when using gcc so shared
+    and static objects can exist side-by-side in the same directory.
+
+  - Allow the same object files on Win32 to be linked into either
+    shared or static libraries.
+
+  - Cache implicit cache values when using --implicit-cache.
+
+
+
+RELEASE 0.10 - Thu, 16 Jan 2003 04:11:46 -0600
 
   From Derrick 'dman' Hudson:
 
@@ -31,6 +361,10 @@ RELEASE 0.10 - XXX
   - Refactor the Scanner interface to eliminate unnecessary Scanner
     calls and make it easier to write efficient scanners.
 
+  - Added a "recursive" flag to Scanner creation that specifies the
+    Scanner should be invoked recursively on dependency files returned
+    by the scanner.
+
   - Significant performance improvement from using a more efficient
     check, throughout the code, for whether a Node has a Builder.
 
@@ -44,11 +378,24 @@ RELEASE 0.10 - XXX
     multiple source files specified; the target is now deduced from just
     the first source file in the list.
 
+  - Documentation fixes: better initial explanation of SConscript files;
+    fix a misformatted "table" in the StaticObject explanation.
+
+  From Steven Knight and Steve Leblanc:
+
+  - Fix the -c option so it will remove symlinks.
+
   From Steve Leblanc:
 
   - Add a Clean() method to support removing user-specified targets
     when using the -c option.
 
+  - Add a development script for running SCons through PyChecker.
+
+  - Clean up things found by PyChecker (mostly unnecessary imports).
+
+  - Add a script to use HappyDoc to create HTML class documentation.
+
   From Lachlan O'Dea:
 
   - Make the Environment.get() method return None by default.
@@ -68,6 +415,8 @@ RELEASE 0.10 - XXX
 
   - Added support for the MinGW tool chain.
 
+  - Added a --debug=includes option.
+
 
 
 RELEASE 0.09 - Thu,  5 Dec 2002 04:48:25 -0600