Refactor to use real Nodes for command-line attributes and eliminate PathList. ...
[scons.git] / src / RELEASE.txt
1 # __COPYRIGHT__
2 # __FILE__ __REVISION__ __DATE__ __DEVELOPER__
3
4
5                  SCons - a software construction tool
6
7                             Release Notes
8
9
10 This is an alpha release of SCons, a tool for building software (and
11 other files).  SCons is implemented in Python, and its "configuration
12 files" are actually Python scripts, allowing you to use the full power
13 of a real scripting language to solve build problems.  You do not,
14 however, need to know Python to use SCons effectively.
15
16 So that everyone using SCons can help each other learn how to use it
17 more effectively, please sign up for the scons-users mailing list at:
18
19     http://lists.sourceforge.net/lists/listinfo/scons-users
20
21
22
23 RELEASE 0.14 - XXX
24
25   This is the fourteenth alpha release of SCons.  Please consult the
26   CHANGES.txt file for a list of specific changes since last release.
27
28   Please note the following important changes since release 0.13:
29
30   - Tool specifications no longer take a "platform" argument.
31     XXX
32
33   - Emitter functions in Builders are now passed Node objects, not
34     strings, for all targets and sources.  Your emitter may need to
35     use the str() function to examine the names of specified files.
36
37   - The SetBuildSignatureType() and SetContentSignatureType() functions
38     have been deprecated.  The new names are TargetSignatures() and
39     SourceSignatures().
40
41   - The Export() function and the exported variables argument of
42     SConscript() now search for variables using the same rules as
43     Python: local first, then global.  If you are calling Export() or
44     SConscript() from a module imported directly into an SConscript
45     file, you may need to modify the module to make the previously
46     global variables available to your Export() or SConscript() call.
47
48   - The SetJobs() and GetJobs() functions have been deprecated.
49     Their new equivalents are:
50
51         SetOption('num_jobs', num)
52         GetOption('num_jobs')
53
54   - Callable expansions of construction variables in a command line
55     now take a fourth "for_signature" argument that is set when the
56     expansion is being called to generate a build signature.
57
58   Please note the following important changes since release 0.11:
59
60   - The default behavior of SCons is now to change to the directory in
61     which an SConscript file resides while reading the SConscript file.
62     To disable this and restore the previous behavior of staying in the
63     top-level directory, specify the following in your SConstruct file:
64
65         SConscriptChdir(0)
66
67   SCons is developed with an extensive regression test suite, and a
68   rigorous development methodology for continually improving that suite.
69   Because of this, SCons is of sufficient quality that you can use it
70   for real work.  The "alpha" status of the release reflects that we
71   still may change interfaces in future releases, which may require
72   modifications to your SConscript files.  We strive to hold these
73   changes to a minimum.
74
75   Nevertheless, please heed the following disclaimers:
76
77     - There may, of course, be bugs.  Please report any bugs or other
78       problems that you find to our bug tracker at our SourceForge
79       project page:
80
81       http://sourceforge.net/tracker/?func=add&group_id=30337&atid=398971
82
83       We have a reliable bug-fixing methodology already in place and
84       strive to respond to problems relatively quickly.
85
86     - Documentation is spottier than we'd like.  You may need to dive
87       into the source code to figure out how to do something.  Asking
88       questions on the scons-users mailing list is also welcome.  We
89       will be addressing the documentation in upcoming releases, but
90       would be more than glad to have your assistance in correcting this
91       problem... :-)
92
93       In particular, the "SCons Design" documentation on the SCons web
94       site is currently out of date, as we made significant changes to
95       portions of the interface as we figured out what worked and what
96       didn't during implementation.
97
98     - There may be performance issues.  Improving SCons performance
99       is an ongoing priority.  If you still find the performance
100       unacceptable, we would very much like to hear from you and learn
101       more about your configuration so we can optimize the right things.
102
103     - Error messages don't always exist where they'd be helpful.
104       Please let us know about any errors you ran into that would
105       have benefitted from a (more) descriptive message.
106
107   KNOWN PROBLEMS IN THIS RELEASE:
108
109     For a complete list of known problems, consult the SCons bug tracker
110     page at SourceForge:
111
112         http://sourceforge.net/tracker/?atid=398971&group_id=30337&func=browse
113
114     - Support for parallel builds (-j) does not work on WIN32 systems
115       prior to *official* Python release 2.2 (not 2.2 pre-releases).
116
117       Prior to Python 2.2, there is a bug in Python's Win32
118       implementation such that when a thread spawns an external command,
119       it blocks all threads from running.  This breaks the SCons
120       multithreading architecture used to support -j builds.
121
122       We have included a patch file, os_spawnv_fix.diff, that you can
123       use if you you want to fix your version of Python to support
124       parallel builds in SCons.
125
126     - Again, the "SCons Design" documentation on the SCons web
127       site is currently out of date.  Take what you read there with a
128       grain of salt.
129
130     - If a file is specified to be built in multiple ways, the last
131       processed builder specification overwrites all other builders,
132       without any warning.
133
134     - On Win32 systems, you must put a space between the redirection
135       characters < and >, and the specified files (or construction
136       variable expansions):
137
138         command < $SOURCE > $TARGET
139
140       If you don't supply a space (for example, "<$SOURCE"), SCons will
141       not recognize the redirection.
142
143     - People have reported problems with SCons not stopping a build when
144       an interrupt (CTRL+C) is received.  A fix was checked in to 0.11
145       that should fix this behavior on many systems, but there are
146       issues with the underlying Python os.system() call that suggest
147       this fix does not work on all systems or in all circumstances.
148       We're working to try to find a universal solution.
149
150     - Executing the -u or -U option from a source directory that has an
151       associated BuildDir() does not build the targets in the BuildDir().
152
153     - Modifying a construction environment in a subsidiary SConscript
154       file modifies the global environment.
155
156     - PDB files on Win32 in a build that uses BuildDir() are built in
157       the source directory, not the build directory.
158
159     - MSVC .res files are not rebuilt when icons change.
160
161     - The -c option does not clean up .sconsign files or directories
162       created as part of the build.
163
164     - Switching content signatures from "MD5" to "timestamp" and back
165       again can cause unusual errors.  These errors can be cleared up by
166       removing all .sconsign files.
167
168     - On Win32, SCons does not recognize that a target specified as
169       (for example) \some\target is the same as X:\some\target (for your
170       current volume X:).
171
172     - No support yet for the following planned command-line options:
173
174          -d -e -l --list-actions --list-derived --list-where
175          -o --override -p -r -R --random -w --write-filenames
176          -W --warn-undefined-variables
177
178
179
180 Thank you for your interest, and please let us know how we can help
181 improve SCons for your needs.
182
183 Steven Knight
184 knight at baldmt dot com
185 http://www.baldmt.com/~knight/
186
187 With plenty of help from the SCons Development team:
188         Chad Austin
189         Charles Crain
190         Steve Leblanc
191         Anthony Roach
192         Terrel Shumway
193