scons: Remove Python 2.7 compatibility code
authorAndreas Sandberg <andreas.sandberg@arm.com>
Thu, 21 Jan 2021 17:18:21 +0000 (17:18 +0000)
committerAndreas Sandberg <andreas.sandberg@arm.com>
Fri, 22 Jan 2021 15:29:12 +0000 (15:29 +0000)
Remove the dependency on six and most 'import x from __future__'. A
few instances of imports from the future have been left in place to
ensure that Python 2.7 users still get an error message when invoking
scons.

Change-Id: I366275a6040f0084e91198b5b5c2a648bffbf2d2
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/39585
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>

SConstruct
ext/libelf/SConscript
ext/systemc/SConscript
ext/systemc/src/sysc/kernel/SConscript.sc
site_scons/gem5_scons/__init__.py
site_scons/site_tools/git.py
src/SConscript
src/mem/ruby/SConscript
src/systemc/tests/SConscript

index b5505ff534ae5e2b7d5e7283abc687d74977c764..4cf2f1059e58c231b8a460d1205ea513aa60a5d5 100755 (executable)
@@ -75,8 +75,6 @@
 #
 ###################################################
 
-from __future__ import print_function
-
 # Global Python includes
 import atexit
 import itertools
index 3bf5b3063e7392aa88a333fc721e92c06e3cb9c7..e2cc8472726574e0a09b65d03328cf17e90cc9f5 100644 (file)
@@ -28,8 +28,6 @@
 #
 # Authors: Nathan Binkert
 
-from __future__ import print_function
-
 import os, subprocess
 
 Import('main')
index cb0c61db466d93c2e3376c6f227aeead49b05926..0b6fb0cd1466876784a09ed044e88774fd5638fb 100644 (file)
@@ -23,8 +23,6 @@
 # Authors: Christian Menard
 #          Matthias Jung
 
-from __future__ import print_function
-
 import os
 from m5.util.terminal import get_termcap
 
index ac79c2fb5df6885b9b80103a8bbba56dfddf9464..0e21f746188938eb97ebdb2ba8a81ed923bfdb56 100644 (file)
@@ -23,8 +23,6 @@
 # Authors: Christian Menard
 #          Matthias Jung
 
-from __future__ import print_function
-
 Import('systemc', 'SystemCSource')
 
 SystemCSource(
index 4208cf1a5bb0595bcac5abea4ef05757680b5555..708002fe12fc3bd17a5ad68c6aaf54f9431eda99 100644 (file)
@@ -38,8 +38,6 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-from __future__ import print_function
-
 import os
 import sys
 import textwrap
index 87738b8f03ef428a5458937a91510df4cb948e3d..a77cffb0886ffa2e1436f88b4476826c165220f0 100644 (file)
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-from __future__ import print_function
 import os
 import sys
 
 import gem5_scons.util
 from m5.util import readCommand
-from six.moves import input
 
 git_style_message = """
 You're missing the gem5 style or commit message hook. These hooks help
index b55f48532c6037473daf9b4fe203f956e65b80df..dc572608040007bb54fd6d59b1f2405fbe8f12e2 100644 (file)
@@ -37,8 +37,6 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-from __future__ import print_function
-
 import array
 import bisect
 import distutils.spawn
@@ -46,7 +44,6 @@ import functools
 import imp
 import os
 import re
-import six
 import sys
 import zlib
 
@@ -144,8 +141,7 @@ class SourceMeta(type):
         super(SourceMeta, cls).__init__(name, bases, dict)
         cls.all = SourceList()
 
-@six.add_metaclass(SourceMeta)
-class SourceFile(object):
+class SourceFile(object, metaclass=SourceMeta):
     '''Base object that encapsulates the notion of a source file.
     This includes, the source node, target node, various manipulations
     of those.  A source file also specifies a set of tags which
@@ -157,14 +153,14 @@ class SourceFile(object):
     def __init__(self, source, tags=None, add_tags=None, append=None):
         if tags is None:
             tags='gem5 lib'
-        if isinstance(tags, six.string_types):
+        if isinstance(tags, str):
             tags = set([tags])
         if not isinstance(tags, set):
             tags = set(tags)
         self.tags = tags
 
         if add_tags:
-            if isinstance(add_tags, six.string_types):
+            if isinstance(add_tags, str):
                 add_tags = set([add_tags])
             if not isinstance(add_tags, set):
                 add_tags = set(add_tags)
@@ -266,7 +262,7 @@ def blobToCpp(data, symbol, cpp_code, hpp_code=None, namespace=None):
     cpp_code(symbol_declaration + ' = {')
     cpp_code.indent()
     step = 16
-    for i in six.moves.range(0, len(data), step):
+    for i in range(0, len(data), step):
         x = array.array('B', data[i:i+step])
         cpp_code(''.join('%d,' % d for d in x))
     cpp_code.dedent()
@@ -487,8 +483,7 @@ class ExecutableMeta(type):
 
         cls.all = []
 
-@six.add_metaclass(ExecutableMeta)
-class Executable(object):
+class Executable(object, metaclass=ExecutableMeta):
     '''Base class for creating an executable from sources.'''
 
     abstract = True
index b31416d64ee9a600e99623e481d9e16548c7552e..aab03554d6f88f2b02d10d9802131c213a9ac251 100644 (file)
@@ -26,8 +26,6 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-from __future__ import print_function
-
 import os
 import sys
 
index cf505143229f425c38c839531908b6beeadd3fee..de330cbee1544d9b71fa004b42d94fce9e99842d 100644 (file)
@@ -23,8 +23,6 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-from __future__ import print_function
-
 Import('*')
 
 if env['USE_SYSTEMC'] and GetOption('with_systemc_tests'):