diff options
author | pal1000 <[email protected]> | 2019-03-07 10:38:10 +0200 |
---|---|---|
committer | Dylan Baker <[email protected]> | 2019-03-12 09:27:29 -0700 |
commit | 1cf66fa64eb87e5f82ee258c26a4b753cb3e5048 (patch) | |
tree | 0962fabd15a09f2622a8b444f7a30e5bdc3eb5b5 | |
parent | 7f86fbc2a9c673bb592bedd17a7ae45d0f642383 (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.py | 7 | ||||
-rwxr-xr-x | scons/gallium.py | 9 |
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') |