2 # __FILE__ __REVISION__ __DATE__ __DEVELOPER__
5 SCons - a software construction tool
10 This is an alpha release of SCons, a tool for building software (and
11 other files). SCons is implemented in Python, and its "configuration
12 files" are actually Python scripts, allowing you to use the full power
13 of a real scripting language to solve build problems. You do not,
14 however, 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 fourteenth alpha 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.13:
30 - Tool specifications no longer take a "platform" argument.
33 - Emitter functions in Builders are now passed Node objects, not
34 strings, for all targets and sources. Your emitter may need to
35 use the str() function to examine the names of specified files.
37 - The SetBuildSignatureType() and SetContentSignatureType() functions
38 have been deprecated. The new names are TargetSignatures() and
41 - The Export() function and the exported variables argument of
42 SConscript() now search for variables using the same rules as
43 Python: local first, then global. If you are calling Export() or
44 SConscript() from a module imported directly into an SConscript
45 file, you may need to modify the module to make the previously
46 global variables available to your Export() or SConscript() call.
48 - The SetJobs() and GetJobs() functions have been deprecated.
49 Their new equivalents are:
51 SetOption('num_jobs', num)
54 - Callable expansions of construction variables in a command line
55 now take a fourth "for_signature" argument that is set when the
56 expansion is being called to generate a build signature.
58 Please note the following important changes since release 0.11:
60 - The default behavior of SCons is now to change to the directory in
61 which an SConscript file resides while reading the SConscript file.
62 To disable this and restore the previous behavior of staying in the
63 top-level directory, specify the following in your SConstruct file:
67 SCons is developed with an extensive regression test suite, and a
68 rigorous development methodology for continually improving that suite.
69 Because of this, SCons is of sufficient quality that you can use it
70 for real work. The "alpha" status of the release reflects that we
71 still may change interfaces in future releases, which may require
72 modifications to your SConscript files. We strive to hold these
75 Nevertheless, please heed the following disclaimers:
77 - There may, of course, be bugs. Please report any bugs or other
78 problems that you find to our bug tracker at our SourceForge
81 http://sourceforge.net/tracker/?func=add&group_id=30337&atid=398971
83 We have a reliable bug-fixing methodology already in place and
84 strive to respond to problems relatively quickly.
86 - Documentation is spottier than we'd like. You may need to dive
87 into the source code to figure out how to do something. Asking
88 questions on the scons-users mailing list is also welcome. We
89 will be addressing the documentation in upcoming releases, but
90 would be more than glad to have your assistance in correcting this
93 In particular, the "SCons Design" documentation on the SCons web
94 site is currently out of date, as we made significant changes to
95 portions of the interface as we figured out what worked and what
96 didn't during implementation.
98 - There may be performance issues. Improving SCons performance
99 is an ongoing priority. If you still find the performance
100 unacceptable, we would very much like to hear from you and learn
101 more about your configuration so we can optimize the right things.
103 - Error messages don't always exist where they'd be helpful.
104 Please let us know about any errors you ran into that would
105 have benefitted from a (more) descriptive message.
107 KNOWN PROBLEMS IN THIS RELEASE:
109 For a complete list of known problems, consult the SCons bug tracker
112 http://sourceforge.net/tracker/?atid=398971&group_id=30337&func=browse
114 - Support for parallel builds (-j) does not work on WIN32 systems
115 prior to *official* Python release 2.2 (not 2.2 pre-releases).
117 Prior to Python 2.2, there is a bug in Python's Win32
118 implementation such that when a thread spawns an external command,
119 it blocks all threads from running. This breaks the SCons
120 multithreading architecture used to support -j builds.
122 We have included a patch file, os_spawnv_fix.diff, that you can
123 use if you you want to fix your version of Python to support
124 parallel builds in SCons.
126 - Again, the "SCons Design" documentation on the SCons web
127 site is currently out of date. Take what you read there with a
130 - If a file is specified to be built in multiple ways, the last
131 processed builder specification overwrites all other builders,
134 - On Win32 systems, you must put a space between the redirection
135 characters < and >, and the specified files (or construction
136 variable expansions):
138 command < $SOURCE > $TARGET
140 If you don't supply a space (for example, "<$SOURCE"), SCons will
141 not recognize the redirection.
143 - People have reported problems with SCons not stopping a build when
144 an interrupt (CTRL+C) is received. A fix was checked in to 0.11
145 that should fix this behavior on many systems, but there are
146 issues with the underlying Python os.system() call that suggest
147 this fix does not work on all systems or in all circumstances.
148 We're working to try to find a universal solution.
150 - Executing the -u or -U option from a source directory that has an
151 associated BuildDir() does not build the targets in the BuildDir().
153 - Modifying a construction environment in a subsidiary SConscript
154 file modifies the global environment.
156 - PDB files on Win32 in a build that uses BuildDir() are built in
157 the source directory, not the build directory.
159 - MSVC .res files are not rebuilt when icons change.
161 - The -c option does not clean up .sconsign files or directories
162 created as part of the build.
164 - Switching content signatures from "MD5" to "timestamp" and back
165 again can cause unusual errors. These errors can be cleared up by
166 removing all .sconsign files.
168 - On Win32, SCons does not recognize that a target specified as
169 (for example) \some\target is the same as X:\some\target (for your
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 --random -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: