Add check for python 3.0.0 or higher and exit with message.
authorbdbaddog <bdbaddog@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Tue, 10 Nov 2009 06:49:02 +0000 (06:49 +0000)
committerbdbaddog <bdbaddog@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Tue, 10 Nov 2009 06:49:02 +0000 (06:49 +0000)
Resolve bug 2445

git-svn-id: http://scons.tigris.org/svn/scons/trunk@4380 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/CHANGES.txt
src/RELEASE.txt
src/script/scons.py

index 0039c32558e4788869be4990eae3247a8b5d9f86..6c16a4a102beffee8fc9faf68aa5a40e655171dd 100644 (file)
@@ -25,6 +25,9 @@ RELEASE X.X.X - XXX
       Compilers. This will be rolled out to other platforms/tools
       in the future.
 
+    - Add check for python >= 3.0.0 and exit gracefully.
+      For 1.3 python >= 1.5.2 and < 3.0.0 are supported
+
   From Lukas Erlinghagen:
 
     - Have AddOption() remove variables from the list of
index 5691dd70ec1d7230dbfdfab284f324951bc4e211..8050c03482a0a793247fa5311f7c6d1396635543 100644 (file)
@@ -34,7 +34,7 @@ RELEASE 1.2.0.d20090223 - Mon, 23 Feb 2009 08:41:06 -0800
         features will still be supported in 1.3.0 but will generate
         mandatory, non-disableable warnings:
 
-            --  Support for Python versions 1.5, 1.6, 2.0 and 2.1.
+            --  Support for Python versions 1.5, 1.6, 2.0, 2.1, 2.2 and 2.3.
             --  The overrides= keyword argument to the Builder() call.
             --  The scanner= keyword argument to the Builder() call.
             --  The BuildDir() function and env.BuildDir() method.
index 94ecccb20d538c4b0b41a896ab1d303b1e19b2ba..fb4cf525691ff05b583afe7f77dc117abea6a64d 100644 (file)
@@ -56,6 +56,19 @@ import sys
 # followed by generic) so we pick up the right version of the build
 # engine modules if they're in either directory.
 
+
+# Check to see if the python version is > 3.0 which is currently unsupported
+# If so exit with error message
+try:
+    if  sys.version_info >= (3,0,0):
+        msg = "scons: *** SCons version %s does not run under Python version %s.\n"
+        sys.stderr.write(msg % (__version__, sys.version.split()[0]))
+        sys.exit(1)
+except AttributeError:
+    # Pre-1.6 Python has no sys.version_info
+    # No need to check version as we then know the version is < 3.0.0 and supported
+    pass
+
 script_dir = sys.path[0]
 
 if script_dir in sys.path: