Add some help to setup.py if distutils isn't installed on the local system.
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Thu, 9 May 2002 19:41:07 +0000 (19:41 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Thu, 9 May 2002 19:41:07 +0000 (19:41 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@370 fdb21ef1-2011-0410-befe-b5e4ea1792b1

README
src/CHANGES.txt
src/README.txt
src/setup.py

diff --git a/README b/README
index 3a3c265ec478ca82d808e6ec9e750e6bcbd791ca..6f2441ad3713bab0b6581e6b7a5d5386f8690f66 100644 (file)
--- a/README
+++ b/README
@@ -28,11 +28,11 @@ latest version at the SCons download page:
         http://www.scons.org/download.html
 
 
-REQUIREMENTS
-============
+EXECUTION REQUIREMENTS
+======================
 
-SCons requires Python version 1.5.2 or later.  There should be no
-other dependencies or requirements to run SCons.
+Running SCons requires Python version 1.5.2 or later.  There should be
+no other dependencies or requirements to run SCons.
 
 The default SCons configuration assumes use of the Microsoft Visual C++
 compiler suite on WIN32 systems, and assumes a C compiler named 'cc',
@@ -42,13 +42,49 @@ You may, of course, override these default values by appropriate
 configuration of Environment construction variables.
 
 
+INSTALLATION REQUIREMENTS
+=========================
+
+Building and installing SCons from this package requires the Python
+distutils package.  The distutils package was not shipped as a standard
+part of Python until Python version 1.6, so if your system is running
+Python 1.5.2, you may not have distutils installed.  If you are running
+Python version 1.6 or later, you should be fine.
+
+NOTE TO RED HAT USERS:  All Red Hat Linux versions as late as 7.3
+still ship Python 1.5.2 as the default, so you probably do *not* have
+distutils installed, unless you have already done so manually.
+
+In this case, your options are:
+
+    --  (Optional.)  Install from a pre-packaged SCons package that
+        does not require distutils:
+
+            Red Hat Linux       scons-0.08-1.noarch.rpm
+
+            Debian GNU/Linux    scons_0.08-1_all.deb
+                                (or use apt-get)
+
+            Windows             scons-0.08.win32.exe
+
+    --  (Recommended.)  Download the latest distutils package from the
+        following URL:
+
+            http://www.python.org/sigs/distutils-sig/download.html
+
+        Install the distutils according to the instructions on the page.
+        You can then proceed to the next section to install SCons from
+        this package.
+
+
 INSTALLATION
 ============
 
-To install SCons from this package, you must first populate the
-build/scons/ directory.  (For an easier way to install SCons, without
-having to populate this directory, use the scons-{version}.tar.gz
-or scons-{version}.zip package.)
+Assuming your system satisfies the installation requirements in
+the previous section, install SCons from this package by first
+populating the build/scons/ directory.  (For an easier way to
+install SCons, without having to populate this directory, use the
+scons-{version}.tar.gz or scons-{version}.zip package.)
 
 If you already have an appropriate version of SCons installed on your
 system, populate the build/scons/ directory by running:
index 965b7a6049b3a56068f5ee5e67edf9b6c03f2480..ee716a592396da3da94892550789edf39a83d3d4 100644 (file)
@@ -16,6 +16,9 @@ RELEASE 0.08 -
     and a separate Platform() method, for more flexible specification
     of platform-specific environment changes.
 
+  - Updated README instructions and setup.py code to catch an
+    installation failure from not having distutils installed.
+
   From Anthony Roach:
 
   - Add a "multi" keyword argument to Builder creation that specifies
index b4bd42b488b6a7a07c21a147aa98055c76569ab3..e12eeadff5272503e3112486d1ad388d51d94c3d 100644 (file)
@@ -27,11 +27,13 @@ the latest version by checking the SCons download page at:
         http://www.scons.org/download.html
 
 
-REQUIREMENTS
-============
+EXECUTION REQUIREMENTS
+======================
 
-SCons requires Python version 1.5.2 or later.  There should be no
-other dependencies or requirements to run SCons.
+Running SCons requires Python version 1.5.2 or later.  There should be
+no other dependencies or requirements to run SCons.  (There is, however,
+an additional requirement to *install* SCons from this particular
+package; see the next section.)
 
 The default SCons configuration assumes use of the Microsoft Visual C++
 compiler suite on WIN32 systems, and assumes a C compiler named 'cc',
@@ -41,11 +43,47 @@ You may, of course, override these default values by appropriate
 configuration of Environment construction variables.
 
 
+INSTALLATION REQUIREMENTS
+=========================
+
+Installing SCons from this package requires the Python distutils
+package.  The distutils package was not shipped as a standard part of
+Python until Python version 1.6, so if your system is running Python
+1.5.2, you may not have distutils installed.  If you are running
+Python version 1.6 or later, you should be fine.
+
+NOTE TO RED HAT USERS:  All Red Hat Linux versions as late as 7.3
+still ship Python 1.5.2 as the default, so you probably do *not* have
+distutils installed, unless you have already done so manually.
+
+In this case, your options are:
+
+    --  (Recommended.)  Install from a pre-packaged SCons package that
+        does not require distutils:
+
+            Red Hat Linux       scons-__VERSION__-1.noarch.rpm
+
+            Debian GNU/Linux    scons___VERSION__-1_all.deb
+                                (or use apt-get)
+
+            Windows             scons-__VERSION__.win32.exe
+
+    --  (Optional.)  Download the latest distutils package from the
+        following URL:
+
+            http://www.python.org/sigs/distutils-sig/download.html
+
+        Install the distutils according to the instructions on the page.
+        You can then proceed to the next section to install SCons from
+        this package.
+
+
 INSTALLATION
 ============
 
-To install this package, simply run the provided Python-standard setup
-script as follows:
+Assuming your system satisfies the installation requirements in the
+previous section, install SCons from this package simply by running the
+provided Python-standard setup script as follows:
 
         # python setup.py install
 
index b84f41aab5ebd41c6790aeffce7b18d832852a86..8104e6d2d5d908b187ab54bbaed928dc8ea617f9 100644 (file)
@@ -33,8 +33,18 @@ if head:
     os.chdir(head)
     sys.argv[0] = tail
 
-from distutils.core import setup
-from distutils.command.install_lib import install_lib
+try:
+    from distutils.core import setup
+    from distutils.command.install_lib import install_lib
+except ImportError:
+    sys.stderr.write("""Could not import distutils.
+
+Building or installing SCons from this package requires that the Python
+distutils be installed.  See the README or README.txt file from this
+package for instructions on where to find distutils for installation on
+your system, or on how to install SCons from a different package.
+""")
+    sys.exit(1)
 
 class my_install_lib(install_lib):
     def finalize_options(self):