summaryrefslogtreecommitdiff
path: root/portaudio/build/scons/SConscript_common
blob: eaf4e3c9cc06a820f7cdbb4fa4ee44db094f7b7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import os.path, sys

class ConfigurationError(Exception):
    def __init__(self, reason):
        Exception.__init__(self, "Configuration failed: %s" % reason)

env = Environment()

# sunos, aix, hpux, irix, sunos appear to be platforms known by SCons, assuming they're POSIX compliant
Posix = ("linux", "darwin", "sunos", "aix", "hpux", "irix", "sunos", "netbsd")
Windows = ("win32", "cygwin")

if env["PLATFORM"] == "posix":
    if sys.platform[:5] == "linux":
        Platform = "linux"
    elif sys.platform[:6] == "netbsd":
	Platform = "netbsd"
    else:
        raise ConfigurationError("Unknown platform %s" % sys.platform)
else:
    if not env["PLATFORM"] in ("win32", "cygwin") + Posix:
        raise ConfigurationError("Unknown platform %s" % env["PLATFORM"])
    Platform = env["PLATFORM"]

# Inspired by the versioning scheme followed by Qt, it seems sensible enough. There are three components: major, minor
# and micro. Major changes with each subtraction from the API (backward-incompatible, i.e. V19 vs. V18), minor changes
# with each addition to the API (backward-compatible), micro changes with each revision of the source code.
ApiVer = "2.0.0"

Export("Platform", "Posix", "ConfigurationError", "ApiVer")