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" <mesa-stable@lists.freedesktop.org> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
+6
-1
@@ -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
|
||||
|
||||
+8
-1
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user