a89690040293f97112bf76297cc9137fee54857b
[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.  On UNIX or Linux systems,
103         you can have the "scons" and "sconsign" scripts be hard links or
104         symbolic links to the "scons-__VERSION__" and "sconsign-__VERSION__" scripts
105         by specifying the "--hardlink-scons" or "--symlink-scons"
106         options on the command line.
107
108     --  Install "scons-__VERSION__.bat" and "scons.bat" wrapper scripts in the
109         Python prefix directory on Windows (C:\Python*, for example).
110         This can be disabled by specifying the "--no-install-bat" option
111         on the command line.  On UNIX or Linux systems, the
112         "--install-bat" option may be specified to have "scons-__VERSION__.bat"
113         and "scons.bat" files installed in the default system script
114         directory, which is useful if you want to install SCons in a
115         shared file system directory that can be used to execute SCons
116         from both UNIX/Linux and Windows systems.
117
118     --  Install the SCons build engine (a Python module) in an
119         appropriate version-numbered SCons library directory
120         (/usr/lib/scons-__VERSION__ or C:\Python*\scons-__VERSION__, for example).
121         See below for more options related to installing the build
122         engine library.
123
124     --  Install the troff-format man pages in an appropriate directory
125         on UNIX or Linux systems (/usr/share/man/man1 or /usr/man/man1,
126         for example).  This can be disabled by specifying the
127         "--no-install-man" option on the command line.  The man pages
128         can be installed on Windows systems by specifying the
129         "--install-man" option on the command line.
130
131 Note that, by default, SCons does not install its build engine library
132 in the standard Python library directories.  If you want to be able to
133 use the SCons library modules (the build engine) in other Python
134 scripts, specify the "--standard-lib" option on the command line, as
135 follows:
136
137         # python setup.py install --standard-lib
138
139 This will install the build engine in the standard Python library
140 directory (/usr/lib/python*/site-packages or
141 C:\Python*\Lib\site-packages).
142
143 Alternatively, you can have SCons install its build engine library in a
144 hard-coded standalone library directory, instead of the default
145 version-numbered directory, by specifying the "--standalone-lib" option
146 on the command line, as follows:
147
148         # python setup.py install --standalone-lib
149
150 This is usually not recommended, however.
151
152 Note that, to install SCons in any of the above system directories,
153 you should have system installation privileges (that is, "root" or
154 "Administrator") when running the setup.py script.  If you don't have
155 system installation privileges, you can use the --prefix option to
156 specify an alternate installation location, such as your home directory:
157
158         $ python setup.py install --prefix=$HOME
159
160 This will install SCons in the appropriate locations relative to
161 $HOME--that is, the scons script itself $HOME/bin and the associated
162 library in $HOME/lib/scons, for example.
163
164
165 DOCUMENTATION
166 =============
167
168 See the RELEASE.txt file for notes about this specific release,
169 including known problems.  See the CHANGES.txt file for a list of
170 changes since the previous release.
171
172 The scons.1 man page is included in this package, and contains a section
173 of small examples for getting started using SCons.
174
175 Additional documentation for SCons is available at:
176
177         http://www.scons.org/doc.html
178
179
180 LICENSING
181 =========
182
183 SCons is distributed under the MIT license, a full copy of which is
184 available in the LICENSE.txt file. The MIT license is an approved Open
185 Source license, which means:
186
187         This software is OSI Certified Open Source Software.  OSI
188         Certified is a certification mark of the Open Source Initiative.
189
190 More information about OSI certifications and Open Source software is
191 available at:
192
193         http://www.opensource.org/
194
195
196 REPORTING BUGS
197 ==============
198
199 Please report bugs by following the "Tracker - Bugs" link on the SCons
200 project page and filling out the form:
201
202         http://sourceforge.net/projects/scons/
203
204 You can also send mail to the SCons developers mailing list:
205
206         scons-devel@lists.sourceforge.net
207
208 But please make sure that you also submit a bug report to the project
209 page bug tracker, because bug reports in email can sometimes get lost
210 in the general flood of messages.
211
212
213 MAILING LISTS
214 =============
215
216 An active mailing list for users of SCons is available.  You may send
217 questions or comments to the list at:
218
219         users@scons.tigris.org
220
221 You may subscribe to the mailing list by sending email to:
222
223         users-subscribe@scons.tigris.org
224
225 There is also a low-volume mailing list available for announcements
226 about SCons.  Subscribe by sending email to:
227
228         announce-subscribe@scons.tigris.org
229
230 There are other mailing lists available for SCons developers, for
231 notification of SCons code changes, and for notification of updated
232 bug reports and project documents.  Please see our mailing lists page
233 for details.
234
235
236 DONATIONS
237 =========
238
239 If you find SCons helpful, please consider making a donation (of cash,
240 software, or hardware) to support continued work on the project.
241 Information is available at:
242
243         http://www.scons.org/donate.html
244
245
246 FOR MORE INFORMATION
247 ====================
248
249 Check the SCons web site at:
250
251         http://www.scons.org/
252
253
254 AUTHOR INFO
255 ===========
256
257 Steven Knight
258 knight at baldmt dot com
259 http://www.baldmt.com/~knight/
260
261 With plenty of help from the SCons Development team:
262         Chad Austin
263         Charles Crain
264         Steve Leblanc
265         Baptiste Lepilleur
266         Elliot Murphy
267         Gary Oberbrunner
268         Anthony Roach
269         Greg Noel
270         Kevin Quick
271         Greg Spencer
272         Christoph Wiedemann
273