2 # __FILE__ __REVISION__ __DATE__ __DEVELOPER__
5 SCons - a software construction tool
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.
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:
19 http://lists.sourceforge.net/lists/listinfo/scons-users
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.
28 Please note the following important changes since release 0.92:
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().
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.
40 Please note the following important changes since release 0.91:
42 - The Debian package available from the SCons web site now
43 uses Python version 2.2.
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
53 Nevertheless, please heed the following disclaimers:
55 - Please report any bugs or other problems that you find to our bug
56 tracker at our SourceForge project page:
58 http://sourceforge.net/tracker/?func=add&group_id=30337&atid=398971
60 We have a reliable bug-fixing methodology already in place and
61 strive to respond to problems relatively quickly.
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
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.
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.
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.
84 KNOWN PROBLEMS IN THIS RELEASE:
86 For a complete list of known problems, consult the SCons bug tracker
89 http://sourceforge.net/tracker/?atid=398971&group_id=30337&func=browse
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).
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.
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.
103 - Again, the "SCons Design" documentation on the SCons web
104 site is currently out of date. Take what you read there with a
107 - If a file is specified to be built in multiple ways, the last
108 processed builder specification overwrites all other builders,
111 - On Win32 systems, you must put a space between the redirection
112 characters < and >, and the specified files (or construction
113 variable expansions):
115 command < $SOURCE > $TARGET
117 If you don't supply a space (for example, "<$SOURCE"), SCons will
118 not recognize the redirection.
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.
127 - Modifying a construction environment in a subsidiary SConscript
128 file modifies the global environment.
130 - MSVC .res files are not rebuilt when icons change.
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).
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.
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
144 - Using a construction variable in its own expansion can cause
147 - Appending values to construction variables may suffer from type
148 errors if, for example, you try to append a string to list or
151 - When using multiple Repositories, changing the name of an include
152 file can cause an old version of the file to be used.
154 - There is currently no way to force use of a relative path (../*)
155 for directories outside the top-level SConstruct file.
157 - The Jar() Builder will, on its second or subsequent invocation,
158 package up the .sconsign files that SCons uses to track
161 - SCons does not currently have a way to detect that an intermediate
162 file has been corrupted from outside and should be rebuilt.
164 - Unicode characters in path names do not work in all circumstances.
166 - A stray source file in a BuildDir can prevent targets from being
167 (re)built when they should.
169 - No support yet for the following planned command-line options:
171 -d -e -l --list-actions --list-derived --list-where
172 -o --override -p -r -R -w --write-filenames
173 -W --warn-undefined-variables
177 Thank you for your interest, and please let us know how we can help
178 improve SCons for your needs.
181 knight at baldmt dot com
182 http://www.baldmt.com/~knight/
184 With plenty of help from the SCons Development team: