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