2 SCons - a software construction tool
4 This is the scons-README file for a version of SCons packaged for local
5 execution--that is, execution out of a specific local directory, without
6 having to install SCons as a system-wide utility.
8 You are likely reading this file in one of the following two situations:
10 1) You have unpacked an scons-local-{version} package and are
11 examining the contents.
13 In this case, you are presumably interested in using this
14 package to include a local copy of SCons with some other
15 software that you package, so that you can use SCons to build
16 your software without forcing all of your users to have it fully
17 installed. Instructions for this can be found below.
19 If you are not looking to use SCons in this way, then please
20 use either the scons-{version} package to install SCons on your
21 system, or the scons-src-{version} package if you want the full
22 source to SCons, including its packaging code and underlying
23 tests and testing infrastructure.
25 2) This file was included in some other software package so that
26 the package could be built using SCons.
28 In this case, follow the instructions provided with the
29 rest of the software package for how to use SCons to build
30 and/or install the software. The file containing build and
31 installation instructions will typically be named README or
37 Before going further, you can check for the latest version of the
38 scons-local package, or any SCons package, at the SCons download page:
40 https://scons.org/pages/download.html
43 EXECUTION REQUIREMENTS
44 ======================
46 Running SCons requires Python 3.5 or higher.
47 There should be no other dependencies or requirements to run SCons.
49 As of SCons 4.2.0 support for Python 3.5 is deprecated and will be removed
50 with the next major release.
52 The default SCons configuration assumes use of the Microsoft Visual C++
53 compiler suite on WIN32 systems (either through the Visual Studio
54 product, or through the separate Build Tools), and assumes a C compiler
55 named 'cc', a C++ compiler named 'c++', and a Fortran compiler named 'g77'
56 (such as found in the GNU Compiler Collection) on any other type of system.
57 You may, of course, override these default values by appropriate
58 configuration of Environment construction variables.
64 Installation of this package should be as simple as unpacking the
65 archive (either .tar.gz or .zip) in any directory (top-level or a
66 subdirectory) within the software package with which you want to ship
69 Once you have installed this package, you should write an SConstruct
70 file at the top level of your source tree to build your software as you
73 Then modify the build/install instructions for your package to instruct
74 your users to execute SCons as follows (if you installed this package in
75 your top-level directory):
79 Or (if, for example, you installed this package in a subdirectory named
82 $ python scons/scons.py
84 That should be all you have to do. (If it isn't that simple, please let
88 CONTENTS OF THIS PACKAGE
89 ========================
91 This scons-local package consists of the following:
94 A copy of the copyright and terms under which SCons is
95 distributed (the Open Source Initiative-approved MIT license).
97 A disclaimer has been added to the beginning to make clear that
98 this license applies only to SCons, and not to any separate
99 software you've written with which you're planning to package
103 What you're looking at right now.
105 scons-local-{version}/
106 The SCons build engine. This is structured as a Python
110 The SCons script itself. The script sets up the Python
111 sys.path variable to use the build engine found in the
112 scons-local-{version}/ directory in preference to any other
113 SCons build engine installed on your system.
119 Because this package is intended to be included with other software by
120 experienced users, we have not included any SCons documentation in this
121 package (other than this scons-README file you're reading right now).
123 If, however, you need documentation about SCons, then consult any of the
124 following from the corresponding scons-{version} or scons-src-{version}
127 The RELEASE.txt file (src/RELEASE.txt file in the
128 scons-src-{version} package), which contains notes about this
129 specific release, including known problems.
131 The CHANGES.txt file (src/CHANGES.txt file in the
132 scons-src-{version} package), which contains a list of changes
133 since the previous release.
135 The scons.1 man page (doc/man/scons.1 in the scons-src-{version}
136 package), which contains a section of small examples for getting
139 Additional documentation for SCons is available at:
141 http://www.scons.org/doc.html
147 SCons is distributed under the MIT license, a full copy of which is
148 available in the scons-LICENSE file in this package. The MIT license is
149 an approved Open Source license, which means:
151 This software is OSI Certified Open Source Software. OSI
152 Certified is a certification mark of the Open Source Initiative.
154 More information about OSI certifications and Open Source software is
157 http://www.opensource.org/
163 The SCons project welcomes bug reports and feature requests.
165 Please make sure you send email with the problem or feature request to
166 the SCons users mailing list, which you can join via the link below:
168 http://two.pairlist.net/mailman/listinfo/scons-users
170 Once you have discussed your issue on the users mailing list and the
171 community has confirmed that it is either a new bug or a duplicate of an
172 existing bug, then please follow the instructions the community provides
173 to file a new bug or to add yourself to the CC list for an existing bug
175 You can explore the list of existing bugs, which may include workarounds
176 for the problem you've run into, on GitHub:
178 https://github.com/SCons/scons/issues
185 A mailing list for users of SCons is available. You may send questions
186 or comments to the list at:
188 scons-users@scons.org
190 You may subscribe to the scons-users mailing list at:
192 http://two.pairlist.net/mailman/listinfo/scons-users
194 An active mailing list for developers of SCons is available. You may
195 send questions or comments to the list at:
199 You may subscribe to the developer's mailing list using form on this page:
201 http://two.pairlist.net/mailman/listinfo/scons-dev
203 Subscription to the developer's mailing list is by approval. In practice, no
204 one is refused list membership, but we reserve the right to limit membership
205 in the future and/or weed out lurkers.
207 There are other mailing lists available for SCons users, for notification of
208 SCons code changes, and for notification of updated bug reports and project
209 documents. Please see our mailing lists page for details.
216 Check the SCons web site at:
218 http://www.scons.org/
224 SCons was originally written by Steven Knight, knight at baldmt dot com.
225 Since around 2010 it has been maintained by the SCons
226 development team, co-managed by Bill Deegan and Gary Oberbrunner, with
227 many contributors, including but not at all limited to:
241 - Christoph Wiedemann
246 \... and many others.