Fix things on the man page.
[scons.git] / src / CHANGES.txt
1 # Copyright (c) 2001 Steven Knight
2 # __FILE__ __REVISION__ __DATE__ __DEVELOPER__
3
4
5                  SCons - a software construction tool
6
7                             Change Log
8
9
10
11 RELEASE 0.04 - 
12
13   From Steven Knight:
14
15   - Fix using a directory as a Default(), and allow Default() to
16     support white space in file names for strings in arrays.
17
18   - Man page updates:  corrected some mistakes, documented various
19     missing Environment methods, alphabetized the construction
20     variables and other functions, defined begin and end macros for
21     the example sections, regularized white space separation.
22
23
24
25 RELEASE 0.03 - Fri, 11 Jan 2002 01:09:30 -0600
26
27   From Charles Crain:
28
29   - Performance improvements in the Node.FS and Sig.Calculator classes.
30
31   - Add the InstallAs() method.
32
33   - Execute commands through an external interpreter (sh, cmd.exe, or
34     command.com) to handle redirection metacharacters.
35
36   - Allow the user to supply a command handler.
37
38   From Steven Knight:
39
40   - Search both /usr/lib and /usr/local/lib for scons directories by
41     adding them both to sys.path, with whichever is in sys.prefix first.
42
43   - Fix interpreting strings of multiple white-space separated file names
44     as separate file names, allowing prefixes and suffixes to be appended
45     to each individually.
46
47   - Refactor to move CompositeBuilder initialization logic from the
48     factory wrapper to the __init__() method, and allow a Builder to
49     have both an action and a src_builder (or array of them).
50
51   - Refactor BuilderBase.__call__() to separate Node creation/lookup
52     from initialization of the Node's builder information.
53
54   - Add a CFile Builder object that supports turning lex (.l) and
55     yacc (.y) files into .c files.
56
57   - Document: variable interpretation attributes; how to propogate
58     the user's environment variables to executed commands; how to
59     build variants in multiple BuildDirs.
60
61   - Collect String, Dict, and List type-checking in common utility
62     routines so we can accept User{String,Dict,List}s all over.
63
64   - Put the Action factory and classes into their own module.
65
66   - Use one CPlusPlusAction in the Object Builder's action dictionary,
67     instead of letting it create multiple identical instances.
68
69   - Document the Install() and InstallAs() methods.
70
71   From Steve Leblanc:
72
73   - Require that a Builder be given a name argument, supplying a
74     useful error message when it isn't.
75
76   From Anthony Roach:
77
78   - Add a "duplicate" keyword argument to BuildDir() that can be set
79     to prevent linking/copying source files into build directories.
80
81   - Add a "--debug=tree" option to print an ASCII dependency tree.
82
83   - Fetch the location of the Microsoft Visual C++ compiler(s) from
84     the Registry, instead of hard-coding the location.
85     
86   - Made Scanner objects take Nodes, not path names.
87     
88   - Have the C Scanner cache the #include file names instead of
89     (re-)scanning the file each time it's called.
90
91   - Created a separate class for parent "nodes" of file system roots,
92     eliminating the need for separate is-parent-null checks everywhere.
93     
94   - Removed defined __hash__() and __cmp() methods from FS.Entry, in
95     favor of Python's more efficient built-in identity comparisons.
96
97
98
99 RELEASE 0.02 - Sun, 23 Dec 2001 19:05:09 -0600
100
101   From Charles Crain:
102
103   - Added the Install(), BuildDir(), and Export() methods.
104
105   - Fix the -C option by delaying setting the top of the FS tree.
106
107   - Avoid putting the directory path on the libraries in the LIBS
108     construction variable.
109
110   - Added a GetBuildPath() method to return the full path to the
111     Node for a specified string.
112
113   - Fixed variable substitution in CPPPATH and LIBPATH.
114
115   From Steven Knight:
116
117   - Fixed the version comment in the scons.bat (the UNIX geek used
118     # instead of @rem).
119
120   - Fix to setup.py so it doesn't require a sys.argv[1] argument.
121
122   - Provide make-like warning message for "command not found" and
123     similar errors.
124
125   - Added an EXAMPLES section to the man page.
126
127   - Make Default() targets properly relative to their SConscript
128     file's subdirectory.
129
130   From Anthony Roach:
131
132   - Documented CXXFLAGS, CXXCOM, and CPPPATH.
133
134   - Fixed SCONS_LIB_DIR to work as documented.
135
136   - Made Default() accept Nodes as arguments.
137
138   - Changed Export() to make it easier to use.
139   
140   - Added the Import() and Return() methods.
141
142
143
144 RELEASE 0.01 - Thu Dec 13 19:25:23 CST 2001
145
146 A brief overview of important functionality available in release 0.01:
147
148   - C and C++ compilation on POSIX and Windows NT.
149
150   - Automatic scanning of C/C++ source files for #include dependencies.
151
152   - Support for building libraries; setting construction variables
153     allows creation of shared libraries.
154
155   - Library and C preprocessor search paths.
156
157   - File changes detected using MD5 signatures.
158
159   - User-definable Builder objects for building files.
160
161   - User-definable Scanner objects for scanning for dependencies.
162
163   - Parallel build (-j) support.
164
165   - Dependency cycles detected.
166
167   - Linux packages available in RPM and Debian format.
168
169   - Windows installer available.