Mesa (staging/19.2): scons: add py3 support

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Sep 30 16:13:22 UTC 2019


Module: Mesa
Branch: staging/19.2
Commit: 5a027b62019406f44583aa2cb71832169f114c17
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5a027b62019406f44583aa2cb71832169f114c17

Author: Michel Zou <xantares09 at hotmail.com>
Date:   Sat Sep 28 08:53:38 2019 +0200

scons: add py3 support

SCons 3.1 has moved to python 3, requiring this fix
to continue supporting scons builds.

Closes: #944
Cc: mesa-stable at lists.freedesktop.org
Acked-by: Eric Engestrom <eric at engestrom.ch>
Tested-by: Eric Engestrom <eric at engestrom.ch>
(cherry picked from commit 3f92d17894bedf2da6aabe017004391b91a5e860)

---

 scons/crossmingw.py | 4 ++--
 scons/custom.py     | 8 ++++++--
 scons/gallium.py    | 2 +-
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/scons/crossmingw.py b/scons/crossmingw.py
index 609cd00418e..b2efccea7e8 100644
--- a/scons/crossmingw.py
+++ b/scons/crossmingw.py
@@ -128,9 +128,9 @@ def generate(env):
         if not path: 
             path = []
         if SCons.Util.is_String(path):
-            path = string.split(path, os.pathsep)
+            path = str.split(path, os.pathsep)
 
-        env['ENV']['PATH'] = string.join([dir] + path, os.pathsep)
+        env['ENV']['PATH'] = str.join(os.pathsep, [dir] + path)
 
     # Most of mingw is the same as gcc and friends...
     gnu_tools = ['gcc', 'g++', 'gnulink', 'ar', 'gas']
diff --git a/scons/custom.py b/scons/custom.py
index 8028990ef61..2fad8f5b6d4 100644
--- a/scons/custom.py
+++ b/scons/custom.py
@@ -262,8 +262,12 @@ def parse_source_list(env, filename, names=None):
     sym_table = parser.parse(src.abspath)
 
     if names:
-        if isinstance(names, basestring):
-            names = [names]
+        if sys.version_info[0] >= 3:
+            if isinstance(names, str):
+                names = [names]
+        else:
+            if isinstance(names, basestring):
+                names = [names]
 
         symbols = names
     else:
diff --git a/scons/gallium.py b/scons/gallium.py
index 3bc0b8d7324..3c59010c768 100755
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -132,7 +132,7 @@ def check_cc(env, cc, expr, cpp_opt = '-E'):
     sys.stdout.write('Checking for %s ... ' % cc)
 
     source = tempfile.NamedTemporaryFile(suffix='.c', delete=False)
-    source.write('#if !(%s)\n#error\n#endif\n' % expr)
+    source.write(('#if !(%s)\n#error\n#endif\n' % expr).encode())
     source.close()
 
     # sys.stderr.write('%r %s %s\n' % (env['CC'], cpp_opt, source.name));




More information about the mesa-commit mailing list