summaryrefslogtreecommitdiff
path: root/portaudio/build/scons/SConscript_common
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2022-08-25 14:54:53 -0500
committersanine <sanine.not@pm.me>2022-08-25 14:54:53 -0500
commit37c97e345d12f95dde44e1d1a4c2f2aadd4615bc (patch)
treee1bb25bc855883062bdd7847ff2c04290f71c840 /portaudio/build/scons/SConscript_common
parent5634c7b04da619669f2f29f6798c03982be05180 (diff)
add initial structure
Diffstat (limited to 'portaudio/build/scons/SConscript_common')
-rw-r--r--portaudio/build/scons/SConscript_common30
1 files changed, 30 insertions, 0 deletions
diff --git a/portaudio/build/scons/SConscript_common b/portaudio/build/scons/SConscript_common
new file mode 100644
index 0000000..eaf4e3c
--- /dev/null
+++ b/portaudio/build/scons/SConscript_common
@@ -0,0 +1,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")