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 sixth 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.94:
30 - The internal Python function used by the Zip Builder in Python
31 releases 1.6 or later now compresses the resulting .zip file
32 by default. The old behavior of creating an uncompressed file
33 may be preserved by setting the new ZIPCOMPRESSION construction
34 variable to 0 (or zipfile.ZIP_STORED, if you import the
35 underlying zipfile module).
37 - The meaning of some of the values of the "mode" argument to
38 the SCons.Util.scons_subst() and SCons.Util.scons_subst_list()
39 functions have been swapped. The wrapper Environment.subst()
40 and Environment.subst_list() methods remain completely unchanged,
41 this so this should have no external effect. (We've listed the
42 change here because it might cause a problem if you're reaching
43 into the SCons internals and calling either of the SCons.Util
46 SCons is developed with an extensive regression test suite, and a
47 rigorous development methodology for continually improving that suite.
48 Because of this, SCons is of sufficient quality that you can use it
49 for real work. The "beta" status of the release reflects that we
50 still may change interfaces in future releases, which may require
51 modifications to your SConscript files. We strive to hold these
54 Nevertheless, please heed the following disclaimers:
56 - Please report any bugs or other problems that you find to our bug
57 tracker at our SourceForge project page:
59 http://sourceforge.net/tracker/?func=add&group_id=30337&atid=398971
61 We have a reliable bug-fixing methodology already in place and
62 strive to respond to problems relatively quickly.
64 - Documentation is spottier than we'd like. You may need to dive
65 into the source code to figure out how to do something. Asking
66 questions on the scons-users mailing list is also welcome. We
67 will be addressing the documentation in upcoming releases, but
68 would be more than glad to have your assistance in correcting this
71 In particular, the "SCons Design" documentation on the SCons web
72 site is currently out of date, as we made significant changes to
73 portions of the interface as we figured out what worked and what
74 didn't during implementation.
76 - There may be performance issues. Improving SCons performance
77 is an ongoing priority. If you still find the performance
78 unacceptable, we would very much like to hear from you and learn
79 more about your configuration so we can optimize the right things.
81 - Error messages don't always exist where they'd be helpful.
82 Please let us know about any errors you ran into that would
83 have benefitted from a (more) descriptive message.
85 KNOWN PROBLEMS IN THIS RELEASE:
87 For a complete list of known problems, consult the SCons bug tracker
90 http://sourceforge.net/tracker/?atid=398971&group_id=30337&func=browse
92 - Support for parallel builds (-j) does not work on WIN32 systems
93 prior to *official* Python release 2.2 (not 2.2 pre-releases).
95 Prior to Python 2.2, there is a bug in Python's Win32
96 implementation such that when a thread spawns an external command,
97 it blocks all threads from running. This breaks the SCons
98 multithreading architecture used to support -j builds.
100 We have included a patch file, os_spawnv_fix.diff, that you can
101 use if you you want to fix your version of Python to support
102 parallel builds in SCons.
104 - Again, the "SCons Design" documentation on the SCons web
105 site is currently out of date. Take what you read there with a
108 - If a file is specified to be built in multiple ways, the last
109 processed builder specification overwrites all other builders,
112 - On Win32 systems, you must put a space between the redirection
113 characters < and >, and the specified files (or construction
114 variable expansions):
116 command < $SOURCE > $TARGET
118 If you don't supply a space (for example, "<$SOURCE"), SCons will
119 not recognize the redirection.
121 - People have reported problems with SCons not stopping a build when
122 an interrupt (CTRL+C) is received. A fix was checked in to 0.11
123 that should fix this behavior on many systems, but there are
124 issues with the underlying Python os.system() call that suggest
125 this fix does not work on all systems or in all circumstances.
126 We're working to try to find a universal solution.
128 - Modifying a construction environment in a subsidiary SConscript
129 file modifies the global environment.
131 - MSVC .res files are not rebuilt when icons change.
133 - The -c option does not clean up .sconsign files or directories
134 created as part of the build, and also does not clean up
135 SideEffect files (for example, Visual Studio .pdb files).
137 - Switching content signatures from "MD5" to "timestamp" and back
138 again can cause unusual errors. These errors can be cleared up by
139 removing all .sconsign files.
141 - On Win32, SCons does not recognize that a target specified as
142 (for example) \some\target is the same as X:\some\target (for your
145 - Using a construction variable in its own expansion can cause
148 - Appending values to construction variables may suffer from type
149 errors if, for example, you try to append a string to list or
152 - When using multiple Repositories, changing the name of an include
153 file can cause an old version of the file to be used.
155 - There is currently no way to force use of a relative path (../*)
156 for directories outside the top-level SConstruct file.
158 - The Jar() Builder will, on its second or subsequent invocation,
159 package up the .sconsign files that SCons uses to track signatures.
160 You can work around this by using the SConsignFile() function
161 to collect all of the .sconsign information into a single file
162 outside of the directory being packaged by Jar().
164 - SCons does not currently have a way to detect that an intermediate
165 file has been corrupted from outside and should be rebuilt.
167 - Unicode characters in path names do not work in all circumstances.
169 - A stray source file in a BuildDir can prevent targets from being
170 (re)built when they should.
172 - No support yet for the following planned command-line options:
174 -d -e -l --list-actions --list-derived --list-where
175 -o --override -p -r -R -w --write-filenames
176 -W --warn-undefined-variables
180 Thank you for your interest, and please let us know how we can help
181 improve SCons for your needs.
184 knight at baldmt dot com
185 http://www.baldmt.com/~knight/
187 With plenty of help from the SCons Development team: