| Chris@4 | 1 import os.path, sys | 
| Chris@4 | 2 | 
| Chris@4 | 3 class ConfigurationError(Exception): | 
| Chris@4 | 4     def __init__(self, reason): | 
| Chris@4 | 5         Exception.__init__(self, "Configuration failed: %s" % reason) | 
| Chris@4 | 6 | 
| Chris@4 | 7 env = Environment() | 
| Chris@4 | 8 | 
| Chris@4 | 9 # sunos, aix, hpux, irix, sunos appear to be platforms known by SCons, assuming they're POSIX compliant | 
| Chris@4 | 10 Posix = ("linux", "darwin", "sunos", "aix", "hpux", "irix", "sunos", "netbsd") | 
| Chris@4 | 11 Windows = ("win32", "cygwin") | 
| Chris@4 | 12 | 
| Chris@4 | 13 if env["PLATFORM"] == "posix": | 
| Chris@4 | 14     if sys.platform[:5] == "linux": | 
| Chris@4 | 15         Platform = "linux" | 
| Chris@4 | 16     elif sys.platform[:6] == "netbsd": | 
| Chris@4 | 17 	Platform = "netbsd" | 
| Chris@4 | 18     else: | 
| Chris@4 | 19         raise ConfigurationError("Unknown platform %s" % sys.platform) | 
| Chris@4 | 20 else: | 
| Chris@4 | 21     if not env["PLATFORM"] in ("win32", "cygwin") + Posix: | 
| Chris@4 | 22         raise ConfigurationError("Unknown platform %s" % env["PLATFORM"]) | 
| Chris@4 | 23     Platform = env["PLATFORM"] | 
| Chris@4 | 24 | 
| Chris@4 | 25 # Inspired by the versioning scheme followed by Qt, it seems sensible enough. There are three components: major, minor | 
| Chris@4 | 26 # and micro. Major changes with each subtraction from the API (backward-incompatible, i.e. V19 vs. V18), minor changes | 
| Chris@4 | 27 # with each addition to the API (backward-compatible), micro changes with each revision of the source code. | 
| Chris@4 | 28 ApiVer = "2.0.0" | 
| Chris@4 | 29 | 
| Chris@4 | 30 Export("Platform", "Posix", "ConfigurationError", "ApiVer") |