scons: Fixes to improve python 3 support.
authorGabe Black <gabeblack@google.com>
Tue, 3 Dec 2019 01:52:44 +0000 (17:52 -0800)
committerGabe Black <gabeblack@google.com>
Sat, 7 Dec 2019 00:03:14 +0000 (00:03 +0000)
Some simple fixes to improve python 3 compatability in scons.

Change-Id: I89aba6ed9d73ee733307c57e033c636029d9cb7a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23264
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
SConstruct
site_scons/site_init.py
site_scons/site_tools/default.py
site_scons/site_tools/git.py

index 9a382102cc2c4d744504ebce966f6aa4a295365a..5a90808b18c12d820fd9efd27a6ae5b86d6e6722 100755 (executable)
@@ -206,7 +206,7 @@ def rfind(l, elt, offs = -1):
     for i in range(len(l)+offs, 0, -1):
         if l[i] == elt:
             return i
-    raise ValueError, "element not found"
+    raise ValueError("element not found")
 
 # Take a list of paths (or SCons Nodes) and return a list with all
 # paths made absolute and ~-expanded.  Paths will be interpreted
@@ -717,7 +717,8 @@ if main['USE_PYTHON']:
 
     # verify that this stuff works
     if not conf.CheckHeader('Python.h', '<>'):
-        error("Check failed for Python.h header in", py_includes, "\n"
+        error("Check failed for Python.h header in",
+                ' '.join(py_includes), "\n"
               "Two possible reasons:\n"
               "1. Python headers are not installed (You can install the "
               "package python-dev on Ubuntu and RedHat)\n"
@@ -941,7 +942,7 @@ class CpuModel(object):
 
         # Add self to dict
         if name in CpuModel.dict:
-            raise AttributeError, "CpuModel '%s' already registered" % name
+            raise AttributeError("CpuModel '%s' already registered" % name)
         CpuModel.dict[name] = self
 
 Export('CpuModel')
index 351f49bc05930d247c7abbad0f45ca8111b5cba6..623e26e0a6e73f583a4f9563284a111afce7fd7d 100644 (file)
@@ -49,7 +49,7 @@ try:
     # 0.98, and the second will fail for 0.98.0
     EnsureSConsVersion(0, 98)
     EnsureSConsVersion(0, 98, 1)
-except SystemExit, e:
+except SystemExit as e:
     print("""
 For more details, see:
     http://gem5.org/Dependencies
@@ -59,7 +59,7 @@ For more details, see:
 # pybind11 requires python 2.7
 try:
     EnsurePythonVersion(2, 7)
-except SystemExit, e:
+except SystemExit as e:
     print ("""
 You can use a non-default installation of the Python interpreter by
 rearranging your PATH so that scons finds the non-default 'python' and
index 9d02ab73b3aafa9d19ab442c0cd33447592fa916..08736f01a3bdc1e22165f9efaacdd9f02cff5788 100644 (file)
@@ -61,7 +61,7 @@ def common_config(env):
         "M5",              # M5 configuration (e.g., path to kernels)
         ]
 
-    for key,val in sorted(os.environ.iteritems()):
+    for key,val in sorted(os.environ.items()):
         if key in use_vars or \
                 any([key.startswith(prefix) for prefix in use_prefixes]):
             env['ENV'][key] = val
index 1b40f28ef4c492b1356bcaad626a17a4b6d491a8..e5b79129b25a1059123f4942a3063d40c5a99966 100644 (file)
@@ -54,7 +54,7 @@ def install_style_hooks(env):
     try:
         gitdir = env.Dir(readCommand(
             ["git", "rev-parse", "--git-dir"]).strip("\n"))
-    except Exception, e:
+    except Exception as e:
         print("Warning: Failed to find git repo directory: %s" % e)
         return