Support construction variable expansion anywhere in a file or path name.
[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 a beta release of SCons, a tool for building software (and other
11 files).  SCons is implemented in Python, and its "configuration files"
12 are actually Python scripts, allowing you to use the full power of a
13 real scripting language to solve build problems.  You do not, however,
14 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 X.XX - XXX
24
25   This is the fourth beta 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.92:
29
30   - Construction variables are now expanded anywhere within a
31     target or source name, as well as in the arguments to the following
32     Environment methods:  AlwaysBuild(), Depends(), Ignore(), Install(),
33     InstallAs(), Precious(), SideEffect() and SourceCode().
34
35     If you have any files or directories that actually contain one or
36     more dollar signs ($), you must now precede the dollar sign with
37     another dollar sign ($$) when referring to the file or directory
38     as part of calling a Builder, or any of the above methods.
39
40   Please note the following important changes since release 0.91:
41
42   - The Debian package available from the SCons web site now
43     uses Python version 2.2.
44
45   SCons is developed with an extensive regression test suite, and a
46   rigorous development methodology for continually improving that suite.
47   Because of this, SCons is of sufficient quality that you can use it
48   for real work.  The "beta" status of the release reflects that we
49   still may change interfaces in future releases, which may require
50   modifications to your SConscript files.  We strive to hold these
51   changes to a minimum.
52
53   Nevertheless, please heed the following disclaimers:
54
55     - Please report any bugs or other problems that you find to our bug
56       tracker at our SourceForge project page:
57
58       http://sourceforge.net/tracker/?func=add&group_id=30337&atid=398971
59
60       We have a reliable bug-fixing methodology already in place and
61       strive to respond to problems relatively quickly.
62
63     - Documentation is spottier than we'd like.  You may need to dive
64       into the source code to figure out how to do something.  Asking
65       questions on the scons-users mailing list is also welcome.  We
66       will be addressing the documentation in upcoming releases, but
67       would be more than glad to have your assistance in correcting this
68       problem... :-)
69
70       In particular, the "SCons Design" documentation on the SCons web
71       site is currently out of date, as we made significant changes to
72       portions of the interface as we figured out what worked and what
73       didn't during implementation.
74
75     - There may be performance issues.  Improving SCons performance
76       is an ongoing priority.  If you still find the performance
77       unacceptable, we would very much like to hear from you and learn
78       more about your configuration so we can optimize the right things.
79
80     - Error messages don't always exist where they'd be helpful.
81       Please let us know about any errors you ran into that would
82       have benefitted from a (more) descriptive message.
83
84   KNOWN PROBLEMS IN THIS RELEASE:
85
86     For a complete list of known problems, consult the SCons bug tracker
87     page at SourceForge:
88
89         http://sourceforge.net/tracker/?atid=398971&group_id=30337&func=browse
90
91     - Support for parallel builds (-j) does not work on WIN32 systems
92       prior to *official* Python release 2.2 (not 2.2 pre-releases).
93
94       Prior to Python 2.2, there is a bug in Python's Win32
95       implementation such that when a thread spawns an external command,
96       it blocks all threads from running.  This breaks the SCons
97       multithreading architecture used to support -j builds.
98
99       We have included a patch file, os_spawnv_fix.diff, that you can
100       use if you you want to fix your version of Python to support
101       parallel builds in SCons.
102
103     - Again, the "SCons Design" documentation on the SCons web
104       site is currently out of date.  Take what you read there with a
105       grain of salt.
106
107     - If a file is specified to be built in multiple ways, the last
108       processed builder specification overwrites all other builders,
109       without any warning.
110
111     - On Win32 systems, you must put a space between the redirection
112       characters < and >, and the specified files (or construction
113       variable expansions):
114
115         command < $SOURCE > $TARGET
116
117       If you don't supply a space (for example, "<$SOURCE"), SCons will
118       not recognize the redirection.
119
120     - People have reported problems with SCons not stopping a build when
121       an interrupt (CTRL+C) is received.  A fix was checked in to 0.11
122       that should fix this behavior on many systems, but there are
123       issues with the underlying Python os.system() call that suggest
124       this fix does not work on all systems or in all circumstances.
125       We're working to try to find a universal solution.
126
127     - Modifying a construction environment in a subsidiary SConscript
128       file modifies the global environment.
129
130     - MSVC .res files are not rebuilt when icons change.
131
132     - The -c option does not clean up .sconsign files or directories
133       created as part of the build, and also does not clean up
134       SideEffect files (for example, Visual Studio .pdb files).
135
136     - Switching content signatures from "MD5" to "timestamp" and back
137       again can cause unusual errors.  These errors can be cleared up by
138       removing all .sconsign files.
139
140     - On Win32, SCons does not recognize that a target specified as
141       (for example) \some\target is the same as X:\some\target (for your
142       current volume X:).
143
144     - Using a construction variable in its own expansion can cause
145       an infinite loop.
146
147     - Appending values to construction variables may suffer from type
148       errors if, for example, you try to append a string to list or
149       vice versa.
150
151     - When using multiple Repositories, changing the name of an include
152       file can cause an old version of the file to be used.
153
154     - There is currently no way to force use of a relative path (../*)
155       for directories outside the top-level SConstruct file.
156
157     - The Jar() Builder will, on its second or subsequent invocation,
158       package up the .sconsign files that SCons uses to track
159       signatures.
160
161     - SCons does not currently have a way to detect that an intermediate
162       file has been corrupted from outside and should be rebuilt.
163
164     - Unicode characters in path names do not work in all circumstances.
165
166     - A stray source file in a BuildDir can prevent targets from being
167       (re)built when they should.
168
169     - No support yet for the following planned command-line options:
170
171          -d -e -l --list-actions --list-derived --list-where
172          -o --override -p -r -R -w --write-filenames
173          -W --warn-undefined-variables
174
175
176
177 Thank you for your interest, and please let us know how we can help
178 improve SCons for your needs.
179
180 Steven Knight
181 knight at baldmt dot com
182 http://www.baldmt.com/~knight/
183
184 With plenty of help from the SCons Development team:
185         Chad Austin
186         Charles Crain
187         Steve Leblanc
188         Gary Oberbrunner
189         Anthony Roach
190         Greg Spencer
191         Christoph Wiedemann
192