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
23 RELEASE X.XX - XXX, XX XXX XXXX XX:XX:XX -XXXX
25 This is the fifth 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.93:
30 Please note the following important changes since release 0.92:
32 - Construction variables are now expanded anywhere within a
33 target or source name, as well as in the arguments to the following
34 Environment methods: AlwaysBuild(), Depends(), Ignore(), Install(),
35 InstallAs(), Precious(), SideEffect() and SourceCode().
37 If you have any files or directories that actually contain one or
38 more dollar signs ($), you must now precede the dollar sign with
39 another dollar sign ($$) when referring to the file or directory
40 as part of calling a Builder, or any of the above methods.
42 - The ParseConfig() global function has now been deprecated in favor
43 of using the env.ParseConfig() method. The global function will be
44 removed in some future release of SCons.
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
162 - SCons does not currently have a way to detect that an intermediate
163 file has been corrupted from outside and should be rebuilt.
165 - Unicode characters in path names do not work in all circumstances.
167 - A stray source file in a BuildDir can prevent targets from being
168 (re)built when they should.
170 - No support yet for the following planned command-line options:
172 -d -e -l --list-actions --list-derived --list-where
173 -o --override -p -r -R -w --write-filenames
174 -W --warn-undefined-variables
178 Thank you for your interest, and please let us know how we can help
179 improve SCons for your needs.
182 knight at baldmt dot com
183 http://www.baldmt.com/~knight/
185 With plenty of help from the SCons Development team: