summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpal1000 <[email protected]>2019-03-07 10:38:10 +0200
committerDylan Baker <[email protected]>2019-03-12 09:27:29 -0700
commit1cf66fa64eb87e5f82ee258c26a4b753cb3e5048 (patch)
tree0962fabd15a09f2622a8b444f7a30e5bdc3eb5b5
parent7f86fbc2a9c673bb592bedd17a7ae45d0f642383 (diff)
scons: Compatibility with Scons development version string
This ensures Mesa3D build doesn't fail in this case as encountered when bisecting Scons source code while regression testing https://bugs.freedesktop.org/show_bug.cgi?id=109443 and when testing 3.0.5.a.2 Technical details: Scons version string has consistently been in this format: MajorVersion.MinorVersion.Patch[.alpha/beta.yyyymmdd] so these formulas should strip alpha/beta flags and return Scons version: - as string - `'.'.join(SCons.__version__.split('.')[:3])` - as tuple of integers - `tuple(map(int, SCons.__version__.split('.')[:3]))` - v2: Fixed Scons version retrieval formulas as string and tuple of integers. - v3: Fixed Scons version string format description. Cc: "19.0" <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> (cherry picked from commit 7f89fd17ed2b1bd0c0fe4ec946dcabed0f8c74d3)
-rw-r--r--scons/custom.py7
-rwxr-xr-xscons/gallium.py9
2 files changed, 14 insertions, 2 deletions
diff --git a/scons/custom.py b/scons/custom.py
index 09946fa7324..8028990ef61 100644
--- a/scons/custom.py
+++ b/scons/custom.py
@@ -48,7 +48,12 @@ import source_list
# a path directly. We want to support both, so we need to detect the SCons version,
# for which no API is provided by SCons 8-P
-scons_version = tuple(map(int, SCons.__version__.split('.')))
+# Scons version string has consistently been in this format:
+# MajorVersion.MinorVersion.Patch[.alpha/beta.yyyymmdd]
+# so this formula should cover all versions regardless of type
+# stable, alpha or beta.
+# For simplicity alpha and beta flags are removed.
+scons_version = tuple(map(int, SCons.__version__.split('.')[:3]))
def quietCommandLines(env):
# Quiet command lines
diff --git a/scons/gallium.py b/scons/gallium.py
index efe32e06c6c..61bbeb2399f 100755
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -311,7 +311,14 @@ def generate(env):
# Speed up dependency checking. See
# - https://github.com/SCons/scons/wiki/GoFastButton
# - https://bugs.freedesktop.org/show_bug.cgi?id=109443
- scons_version = distutils.version.StrictVersion(SCons.__version__)
+
+ # Scons version string has consistently been in this format:
+ # MajorVersion.MinorVersion.Patch[.alpha/beta.yyyymmdd]
+ # so this formula should cover all versions regardless of type
+ # stable, alpha or beta.
+ # For simplicity alpha and beta flags are removed.
+
+ scons_version = distutils.version.StrictVersion('.'.join(SCons.__version__.split('.')[:3]))
if scons_version < distutils.version.StrictVersion('3.0.2') or \
scons_version > distutils.version.StrictVersion('3.0.4'):
env.Decider('MD5-timestamp')