3 <!ENTITY % scons SYSTEM "../scons.mod">
7 <section id="sect-install"
8 xmlns="http://www.scons.org/dbxsd/v1.0"
9 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10 xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">
11 <title>Installation</title>
17 Permission is hereby granted, free of charge, to any person obtaining
18 a copy of this software and associated documentation files (the
19 "Software"), to deal in the Software without restriction, including
20 without limitation the rights to use, copy, modify, merge, publish,
21 distribute, sublicense, and/or sell copies of the Software, and to
22 permit persons to whom the Software is furnished to do so, subject to
23 the following conditions:
25 The above copyright notice and this permission notice shall be included
26 in all copies or substantial portions of the Software.
28 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
29 KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
30 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
31 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
32 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
33 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
34 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
40 Initial installation of a new utility provides the first, lasting
41 impression of how well the software is likely to perform. From the
42 start, &SCons; has made clean installation a priority.
47 <title>Version Control</title>
51 Distributing an application like &SCons; that depends
52 on a package normally found in a library poses a
53 problem. If the &scons; script and the &SCons; Build Engine
54 are installed separately, it could be easy
55 to introduce a version mismatch between the Build Engine
57 <filename>/usr/lib/python*/site-packages</filename>
58 and the &scons; script installed in
59 <filename>/usr/bin</filename>.
61 could possible mean exceptions that prevent builds, or even worse,
62 silently unreliable builds.
68 To reduce the possibility of a version mismatch,
69 the &scons; script looks first for its
70 imported modules in <filename>/usr/lib/scons-{version}/</filename>,
71 then in <filename>/usr/lib/scons/</filename>,
72 and then in the normal &PYTHONPATH; locations,
73 including <filename>/usr/lib/python*/site-packages</filename>).
74 Searching in a version-specific library directory first
75 makes it convenient to install and use multiple
76 side-by-side versions of &SCons;,
77 which is sometimes important
78 when verifying that a new version does not introduce any
79 errors into the local build process.
80 Searching next in an &SCons;-specific library directory
81 makes it convenient for other software to find
82 the &SCons; Build Engine without having to worry about
83 installing separate copies for
84 multiple versions of Python.
91 <title>Packages</title>
95 &SCons; is currently distributed in the following packages:
106 <literal>scons-</literal><emphasis>version</emphasis><literal>.tar.gz</literal>
110 The traditional <literal>.tar.gz</literal> file,
111 installable by running <filename>setup.py</filename>.
118 <literal>scons-</literal><emphasis>version</emphasis><literal>.noarch.rpm</literal>
122 An RPM file for typical installation.
129 <literal>scons-</literal><emphasis>version</emphasis><literal>_all.deb</literal>
140 <literal>scons-</literal><emphasis>version</emphasis><literal>.win32.exe</literal>
151 <literal>scons-</literal><emphasis>version</emphasis><literal>.src.rpm</literal>
162 <literal>scons-src-</literal><emphasis>version</emphasis><literal>.tar.gz</literal>
166 A tarball of the &SCons; source tree,
167 including the full set of regression tests.
178 Like other software written in Python, &SCons; benefits greatly from
179 the tremendous effort put into the <literal>distutils</literal> by
180 Greg Ward and others. These take care of 90% of the work by making
181 it almost trivial to generate the appropriate RPM files, Debian
182 packages, and Windows installer.
189 <title>Default Builder Objects</title>
193 As part of the installation process, &SCons; runs a set of scripts
194 that look for popular compilers and other tools and set up
195 appropriate default &Builder; objects for the tools found. These
196 &Builder; objects are then used to initialize the default &consenv;
204 <title>Default Scanner Objects</title>
208 Additionally, &SCons; comes with a stock set of &Scanner; objects
209 for the various file types that it supports out of the box. Any
210 unusal &Scanner; objects required for a specific tool will be
211 detected at installation time and associated with the appropriate
212 &Builder; object for the tool.