Extend SConstruct et al. to build .zip files, and to build the scons-src package...
[scons.git] / src / CHANGES.txt
index c84d0cb4dbd9e2dabab412fff2c09377e5feb008..5abbe6d51fb51ef39224a50b5127157e93759698 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2001 Steven Knight
+# Copyright (c) 2001, 2002 Steven Knight
 # __FILE__ __REVISION__ __DATE__ __DEVELOPER__
 
 
 
 
 
-RELEASE 0.03 - 
+RELEASE 0.06 - 
+
+  From Steven Knight:
+
+  - Add .zip files to the packages we build.
+
+
+
+RELEASE 0.05 - Thu, 21 Feb 2002 16:50:03 -0600
+
+  From Chad Austin:
+
+  - Set PROGSUFFIX to .exe under Cygwin.
+
+  From Charles Crain:
+
+  - Allow a library to specified as a command-line source file, not just
+    in the LIBS construction variable.
+
+  - Compensate for a bug in os.path.normpath() that returns '' for './'
+    on WIN32.
+
+  - More performance optimizations:  cache #include lines from files,
+    eliminate unnecessary calls.
+
+  - If a prefix or suffix contains white space, treat the resulting
+    concatenation as separate arguments.
+
+  - Fix irregularities in the way we fetch DevStudio information from
+    the Windows registry, and in our registry error handling.
+
+  From Steven Knight:
+
+  - Flush stdout after print so it intermixes correctly with stderr
+    when redirected.
+
+  - Allow Scanners to return a list of strings, and document how to
+    write your own Scanners.
+
+  - Look up implicit (scanned) dependencies relative to the directory
+    of file being scanned.
+
+  - Make writing .sconsign files more robust by first trying to write
+    to a temp file that gets renamed.
+
+  - Create all of the directories for a list of targets before trying
+    to build any of the targets.
+
+  - WIN32 portability fixes in tests.
+
+  - Allow the list of variables exported to an SConscript file to be
+    a UserList, too.
+
+  - Document the overlooked LIBPATH construction variable.
+    (Bug reported by Eicke Godehardt.)
+
+  - Fix so that Ignore() ignores indirect, implicit dependencies
+    (included files), not just direct dependencies.
+
+  - Put the man page in the Debian distribution.
+
+  - Run HTML docs through tidy to clean up the HTML (for Konqueror).
+
+  - Add preliminary support for Unicode strings.
+
+  - Efficiency:  don't scan dependencies more than once during the
+    walk of a tree.
+
+  - Fix the -c option so it doesn't stop removing targets if one doesn't
+    already exist.
+    (Bug reported by Paul Connell.)
+
+  - Fix the --debug=pdb option when run on Windows NT.
+    (Bug reported by Paul Connell.)
+
+  - Add support for the -q option.
+
+  From Steve Leblanc:
+
+  - Add support for the -u option.
+
+  - Add .cc and .hh file suffixes to the C Scanner.
+
+  From Anthony Roach:
+
+  - Make the scons script return an error code on failures.
+
+  - Add support for using code to generate a command to build a target.
+
+
+
+RELEASE 0.04 - Wed, 30 Jan 2002 11:09:42 -0600
+
+  From Charles Crain:
+
+  - Significant performance improvements in the Node.FS and
+    Scanner subsystems.
+
+  - Fix signatures of binary files on Win32 systems.
+
+  - Allow LIBS and LIBPATH to be strings, not just arrays.
+
+  - Print a traceback if a Python-function builder throws an exception.
+
+  From Steven Knight:
+
+  - Fix using a directory as a Default(), and allow Default() to
+    support white space in file names for strings in arrays.
+
+  - Man page updates:  corrected some mistakes, documented various
+    missing Environment methods, alphabetized the construction
+    variables and other functions, defined begin and end macros for
+    the example sections, regularized white space separation, fixed
+    the use of Export() in the Multiple Variants example.
+
+  - Function action fixes:  None is now a successful return value.
+    Exceptions are now reported.  Document function actions.
+
+  - Add 'Action' and 'Scanner' to the global keywords so SConscript
+    files can use them too.
+
+  - Removed the Wrapper class between Nodes and Walkers.
+
+  - Add examples using Library, LIBS, and LIBPATH.
+
+  - The C Scanner now always returns a sorted list of dependencies
+    so order changes don't cause unnecessary rebuilds.
+
+  - Strip $(-$) bracketed text from command lines.  Use this to
+    surround $_INCDIRS and $_LIBDIRS so we don't rebuild in response
+    to changes to -I or -L options.
+
+  - Add the Ignore() method to ignore dependencies.
+
+  - Provide an error message when a nonexistent target is specified
+    on the command line.
+
+  - Remove targets before building them, and add an Environment
+    Precious() method to override that.
+
+  - Eliminate redundant calls to the same builder when the target is a
+    list of targets:  Add a ListBuilder class that wraps Builders to
+    handle lists atomically.  Extend the Task class to support building
+    and updating multiple targets in a single Task.  Simplify the
+    interface between Task and Taskmaster.
+
+  - Add a --debug=pdb option to re-run SCons under the Python debugger.
+
+  - Only compute a build signature once for each node.
+
+  - Changes to our sys.path[] manipulation to support installation into
+    an arbitrary --prefix value.
+
+  From Steve Leblanc:
+
+  - Add var=value command-line arguments.
+
+
+
+RELEASE 0.03 - Fri, 11 Jan 2002 01:09:30 -0600
+
+  From Charles Crain:
+
+  - Performance improvements in the Node.FS and Sig.Calculator classes.
+
+  - Add the InstallAs() method.
+
+  - Execute commands through an external interpreter (sh, cmd.exe, or
+    command.com) to handle redirection metacharacters.
+
+  - Allow the user to supply a command handler.
 
   From Steven Knight:
 
   - Search both /usr/lib and /usr/local/lib for scons directories by
     adding them both to sys.path, with whichever is in sys.prefix first.
 
+  - Fix interpreting strings of multiple white-space separated file names
+    as separate file names, allowing prefixes and suffixes to be appended
+    to each individually.
+
+  - Refactor to move CompositeBuilder initialization logic from the
+    factory wrapper to the __init__() method, and allow a Builder to
+    have both an action and a src_builder (or array of them).
+
+  - Refactor BuilderBase.__call__() to separate Node creation/lookup
+    from initialization of the Node's builder information.
+
+  - Add a CFile Builder object that supports turning lex (.l) and
+    yacc (.y) files into .c files.
+
+  - Document: variable interpretation attributes; how to propogate
+    the user's environment variables to executed commands; how to
+    build variants in multiple BuildDirs.
+
+  - Collect String, Dict, and List type-checking in common utility
+    routines so we can accept User{String,Dict,List}s all over.
+
+  - Put the Action factory and classes into their own module.
+
+  - Use one CPlusPlusAction in the Object Builder's action dictionary,
+    instead of letting it create multiple identical instances.
+
+  - Document the Install() and InstallAs() methods.
+
+  From Steve Leblanc:
+
+  - Require that a Builder be given a name argument, supplying a
+    useful error message when it isn't.
+
   From Anthony Roach:
 
   - Add a "duplicate" keyword argument to BuildDir() that can be set
     to prevent linking/copying source files into build directories.
 
+  - Add a "--debug=tree" option to print an ASCII dependency tree.
+
+  - Fetch the location of the Microsoft Visual C++ compiler(s) from
+    the Registry, instead of hard-coding the location.
+    
+  - Made Scanner objects take Nodes, not path names.
+    
+  - Have the C Scanner cache the #include file names instead of
+    (re-)scanning the file each time it's called.
+
+  - Created a separate class for parent "nodes" of file system roots,
+    eliminating the need for separate is-parent-null checks everywhere.
+    
+  - Removed defined __hash__() and __cmp() methods from FS.Entry, in
+    favor of Python's more efficient built-in identity comparisons.
+
 
 
 RELEASE 0.02 - Sun, 23 Dec 2001 19:05:09 -0600