Allow Builder objects to have both an action and a src_builder.
[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   From Steven Knight:
18
19   - Search both /usr/lib and /usr/local/lib for scons directories by
20     adding them both to sys.path, with whichever is in sys.prefix first.
21
22   - Fix interpreting strings of multiple white-space separated file names
23     as separate file names, allowing prefixes and suffixes to be appended
24     to each individually.
25
26   - Refactor to move CompositeBuilder initialization logic from the
27     factory wrapper to the __init__() method, and allow a Builder to
28     have both an action and a src_builder (or array of them).
29
30   From Anthony Roach:
31
32   - Add a "duplicate" keyword argument to BuildDir() that can be set
33     to prevent linking/copying source files into build directories.
34
35   - Add a "--debug=tree" option to print an ASCII dependency tree.
36
37   - Fetch the location of the Microsoft Visual C++ compiler(s) from
38     the Registry, instead of hard-coding the location.
39     
40   - Made Scanner objects take Nodes, not path names.
41     
42   - Have the C Scanner cache the #include file names instead of
43     (re-)scanning the file each time it's called.
44
45   - Created a separate class for parent "nodes" of file system roots,
46     eliminating the need for separate is-parent-null checks everywhere.
47     
48   - Removed defined __hash__() and __cmp() methods from FS.Entry, in
49     favor of Python's more efficient built-in identity comparisons.
50
51
52
53 RELEASE 0.02 - Sun, 23 Dec 2001 19:05:09 -0600
54
55   From Charles Crain:
56
57   - Added the Install(), BuildDir(), and Export() methods.
58
59   - Fix the -C option by delaying setting the top of the FS tree.
60
61   - Avoid putting the directory path on the libraries in the LIBS
62     construction variable.
63
64   - Added a GetBuildPath() method to return the full path to the
65     Node for a specified string.
66
67   - Fixed variable substitution in CPPPATH and LIBPATH.
68
69   From Steven Knight:
70
71   - Fixed the version comment in the scons.bat (the UNIX geek used
72     # instead of @rem).
73
74   - Fix to setup.py so it doesn't require a sys.argv[1] argument.
75
76   - Provide make-like warning message for "command not found" and
77     similar errors.
78
79   - Added an EXAMPLES section to the man page.
80
81   - Make Default() targets properly relative to their SConscript
82     file's subdirectory.
83
84   From Anthony Roach:
85
86   - Documented CXXFLAGS, CXXCOM, and CPPPATH.
87
88   - Fixed SCONS_LIB_DIR to work as documented.
89
90   - Made Default() accept Nodes as arguments.
91
92   - Changed Export() to make it easier to use.
93   
94   - Added the Import() and Return() methods.
95
96
97
98 RELEASE 0.01 - Thu Dec 13 19:25:23 CST 2001
99
100 A brief overview of important functionality available in release 0.01:
101
102   - C and C++ compilation on POSIX and Windows NT.
103
104   - Automatic scanning of C/C++ source files for #include dependencies.
105
106   - Support for building libraries; setting construction variables
107     allows creation of shared libraries.
108
109   - Library and C preprocessor search paths.
110
111   - File changes detected using MD5 signatures.
112
113   - User-definable Builder objects for building files.
114
115   - User-definable Scanner objects for scanning for dependencies.
116
117   - Parallel build (-j) support.
118
119   - Dependency cycles detected.
120
121   - Linux packages available in RPM and Debian format.
122
123   - Windows installer available.