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