diff options
author | Steven Knight <knight@baldmt.com> | 2002-10-10 12:49:15 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-10-10 12:49:15 (GMT) |
commit | 08dbb4a708827254cfc0f1a5d1af6a95dfe8744a (patch) | |
tree | 496c184585332ec93483ce3f9862f292f2c5cd7a /src/engine/SCons | |
parent | a788145cf0d0e87d1f279fb43c48bfec21dedcd7 (diff) | |
download | SCons-08dbb4a708827254cfc0f1a5d1af6a95dfe8744a.zip SCons-08dbb4a708827254cfc0f1a5d1af6a95dfe8744a.tar.gz SCons-08dbb4a708827254cfc0f1a5d1af6a95dfe8744a.tar.bz2 |
Add Python and SCons version checking functions. (Anthony Roach)
Diffstat (limited to 'src/engine/SCons')
-rw-r--r-- | src/engine/SCons/Script/SConscript.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py index 9ecd3d7..cb20ae9 100644 --- a/src/engine/SCons/Script/SConscript.py +++ b/src/engine/SCons/Script/SConscript.py @@ -41,6 +41,7 @@ import SCons.Tool import SCons.Util import SCons.Sig import SCons.Options +import SCons import os import os.path @@ -268,6 +269,28 @@ class Options(SCons.Options.Options): def Update(self, env): return SCons.Options.Options.Update(self, env, arguments) +def CheckVersion(major,minor,version_string): + """Return 0 if 'major' and 'minor' are greater than the version + in 'version_string', and 1 otherwise.""" + version = string.split(string.split(version_string, ' ')[0], '.') + if major > int(version[0]) or (major == int(version[0]) and minor > int(version[1])): + return 0 + else: + return 1 + +def EnsureSConsVersion(major, minor): + """Exit abnormally if the SCons version is not late enough.""" + if not CheckVersion(major,minor,SCons.__version__): + print "SCons %d.%d or greater required, but you have SCons %s" %(major,minor,SCons.__version__) + sys.exit(2) + +def EnsurePythonVersion(major, minor): + """Exit abnormally if the Python version is not late enough.""" + if not CheckVersion(major,minor,sys.version): + v = string.split(sys.version, " ", 1)[0] + print "Python %d.%d or greater required, but you have Python %s" %(major,minor,v) + sys.exit(2) + def BuildDefaultGlobals(): """ Create a dictionary containing all the default globals for @@ -282,6 +305,8 @@ def BuildDefaultGlobals(): globals['CScan'] = SCons.Defaults.CScan globals['Default'] = Default globals['Dir'] = SCons.Node.FS.default_fs.Dir + globals['EnsurePythonVersion'] = EnsurePythonVersion + globals['EnsureSConsVersion'] = EnsureSConsVersion globals['Environment'] = SCons.Environment.Environment globals['Export'] = Export globals['File'] = SCons.Node.FS.default_fs.File |