Merged revisions 1884-1905 via svnmerge from
[scons.git] / src / README.txt
1 # __COPYRIGHT__
2 # __FILE__ __REVISION__ __DATE__ __DEVELOPER__
3
4
5                  SCons - a software construction tool
6
7                          Version __VERSION__
8
9
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.
15
16 See the RELEASE.txt file for notes about this specific release,
17 including known problems.  See the CHANGES.txt file for a list of
18 changes since the previous release.
19
20
21 LATEST VERSION
22 ==============
23
24 Before going further, you can check that this package you have is
25 the latest version by checking the SCons download page at:
26
27         http://www.scons.org/download.html
28
29
30 EXECUTION REQUIREMENTS
31 ======================
32
33 Running SCons requires Python version 1.5.2 or later.  There should be
34 no other dependencies or requirements to run SCons.  (There is, however,
35 an additional requirement to *install* SCons from this particular
36 package; see the next section.)
37
38 By default, SCons knows how to search for available programming tools
39 on various systems--see the SCons man page for details.  You may,
40 of course, override the default SCons choices made by appropriate
41 configuration of Environment construction variables.
42
43
44 INSTALLATION REQUIREMENTS
45 =========================
46
47 Installing SCons from this package requires the Python distutils
48 package.  The distutils package was not shipped as a standard part of
49 Python until Python version 1.6, so if your system is running Python
50 1.5.2, you may not have distutils installed.  If you are running
51 Python version 1.6 or later, you should be fine.
52
53 NOTE TO RED HAT USERS:  Red Hat shipped Python 1.5.2 as the default all
54 the way up to Red Hat Linux 7.3, so you probably do *not* have distutils
55 installed, unless you have already done so manually or are running Red
56 Hat 8.0 or later.
57
58 In this case, your options are:
59
60     --  (Recommended.)  Install from a pre-packaged SCons package that
61         does not require distutils:
62
63             Red Hat Linux       scons-__VERSION__-1.noarch.rpm
64
65             Debian GNU/Linux    scons___VERSION__-1_all.deb
66                                 (or use apt-get)
67
68             Windows             scons-__VERSION__.win32.exe
69
70     --  (Optional.)  Download the latest distutils package from the
71         following URL:
72
73             http://www.python.org/sigs/distutils-sig/download.html
74
75         Install the distutils according to the instructions on the page.
76         You can then proceed to the next section to install SCons from
77         this package.
78
79
80 INSTALLATION
81 ============
82
83 Assuming your system satisfies the installation requirements in the
84 previous section, install SCons from this package simply by running the
85 provided Python-standard setup script as follows:
86
87         # python setup.py install
88
89 By default, the above command will do the following:
90
91     --  Install the version-numbered "scons-__VERSION__" and "sconsign-__VERSION__"
92         scripts in the default system script directory (/usr/bin or
93         C:\Python*\Scripts, for example).  This can be disabled by
94         specifying the "--no-version-script" option on the command
95         line.
96
97     --  Install scripts named "scons" and "sconsign" scripts in the
98         default system script directory (/usr/bin or C:\Python*\Scripts,
99         for example).  This can be disabled by specifying the
100         "--no-scons-script" option on the command line, which is useful
101         if you want to install and experiment with a new version before
102         making it the default on your system.
103
104         On UNIX or Linux systems, you can have the "scons" and "sconsign"
105         scripts be hard links or symbolic links to the "scons-__VERSION__" and
106         "sconsign-__VERSION__" scripts by specifying the "--hardlink-scons"
107         or "--symlink-scons" options on the command line.
108
109     --  Install "scons-__VERSION__.bat" and "scons.bat" wrapper scripts in the
110         Python prefix directory on Windows (C:\Python*, for example).
111         This can be disabled by specifying the "--no-install-bat" option
112         on the command line.
113
114         On UNIX or Linux systems, the "--install-bat" option may be
115         specified to have "scons-__VERSION__.bat" and "scons.bat" files
116         installed in the default system script directory, which is useful
117         if you want to install SCons in a shared file system directory
118         that can be used to execute SCons from both UNIX/Linux and
119         Windows systems.
120
121     --  Install the SCons build engine (a Python module) in an
122         appropriate version-numbered SCons library directory
123         (/usr/lib/scons-__VERSION__ or C:\Python*\scons-__VERSION__, for example).
124         See below for more options related to installing the build
125         engine library.
126
127     --  Install the troff-format man pages in an appropriate directory
128         on UNIX or Linux systems (/usr/share/man/man1 or /usr/man/man1,
129         for example).  This can be disabled by specifying the
130         "--no-install-man" option on the command line.  The man pages
131         can be installed on Windows systems by specifying the
132         "--install-man" option on the command line.
133
134 Note that, by default, SCons does not install its build engine library
135 in the standard Python library directories.  If you want to be able to
136 use the SCons library modules (the build engine) in other Python
137 scripts, specify the "--standard-lib" option on the command line, as
138 follows:
139
140         # python setup.py install --standard-lib
141
142 This will install the build engine in the standard Python library
143 directory (/usr/lib/python*/site-packages or
144 C:\Python*\Lib\site-packages).
145
146 Alternatively, you can have SCons install its build engine library in a
147 hard-coded standalone library directory, instead of the default
148 version-numbered directory, by specifying the "--standalone-lib" option
149 on the command line, as follows:
150
151         # python setup.py install --standalone-lib
152
153 This is usually not recommended, however.
154
155 Note that, to install SCons in any of the above system directories,
156 you should have system installation privileges (that is, "root" or
157 "Administrator") when running the setup.py script.  If you don't have
158 system installation privileges, you can use the --prefix option to
159 specify an alternate installation location, such as your home directory:
160
161         $ python setup.py install --prefix=$HOME
162
163 This will install SCons in the appropriate locations relative to
164 $HOME--that is, the scons script itself $HOME/bin and the associated
165 library in $HOME/lib/scons, for example.
166
167
168 DOCUMENTATION
169 =============
170
171 See the RELEASE.txt file for notes about this specific release,
172 including known problems.  See the CHANGES.txt file for a list of
173 changes since the previous release.
174
175 The scons.1 man page is included in this package, and contains a section
176 of small examples for getting started using SCons.
177
178 Additional documentation for SCons is available at:
179
180         http://www.scons.org/doc.html
181
182
183 LICENSING
184 =========
185
186 SCons is distributed under the MIT license, a full copy of which is
187 available in the LICENSE.txt file. The MIT license is an approved Open
188 Source license, which means:
189
190         This software is OSI Certified Open Source Software.  OSI
191         Certified is a certification mark of the Open Source Initiative.
192
193 More information about OSI certifications and Open Source software is
194 available at:
195
196         http://www.opensource.org/
197
198
199 REPORTING BUGS
200 ==============
201
202 Please report bugs by following the detailed instructions on our Bug
203 Submission page:
204
205         http://scons.tigris.org/bug-submission.html
206
207 You can also send mail to the SCons developers' mailing list:
208
209         dev@scons.tigris.org
210
211 But even if you send email to the mailing list please make sure that you
212 ALSO submit a bug report to the project page bug tracker, because bug
213 reports in email often get overlooked in the general flood of messages.
214
215
216 MAILING LISTS
217 =============
218
219 An active mailing list for users of SCons is available.  You may send
220 questions or comments to the list at:
221
222         users@scons.tigris.org
223
224 You may subscribe to the mailing list by sending email to:
225
226         users-subscribe@scons.tigris.org
227
228 There is also a low-volume mailing list available for announcements
229 about SCons.  Subscribe by sending email to:
230
231         announce-subscribe@scons.tigris.org
232
233 There are other mailing lists available for SCons developers, for
234 notification of SCons code changes, and for notification of updated
235 bug reports and project documents.  Please see our mailing lists page
236 for details.
237
238
239 DONATIONS
240 =========
241
242 If you find SCons helpful, please consider making a donation (of cash,
243 software, or hardware) to support continued work on the project.
244 Information is available at:
245
246         http://www.scons.org/donate.html
247
248
249 FOR MORE INFORMATION
250 ====================
251
252 Check the SCons web site at:
253
254         http://www.scons.org/
255
256
257 AUTHOR INFO
258 ===========
259
260 Steven Knight
261 knight at baldmt dot com
262 http://www.baldmt.com/~knight/
263
264 With plenty of help from the SCons Development team:
265         Chad Austin
266         Charles Crain
267         Steve Leblanc
268         Greg Noel
269         Gary Oberbrunner
270         Anthony Roach
271         Greg Spencer
272         Christoph Wiedemann
273