mirror of
https://github.com/cookiengineer/audacity
synced 2026-01-12 07:35:51 +01:00
Move library tree where it belongs
This commit is contained in:
30
lib-src/portaudio-v19/build/scons/SConscript_common
Normal file
30
lib-src/portaudio-v19/build/scons/SConscript_common
Normal file
@@ -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")
|
||||
91
lib-src/portaudio-v19/build/scons/SConscript_opts
Normal file
91
lib-src/portaudio-v19/build/scons/SConscript_opts
Normal file
@@ -0,0 +1,91 @@
|
||||
import os.path, sys
|
||||
|
||||
def _PackageOption(pkgName, default=1):
|
||||
""" Allow user to choose whether a package should be used if available. This results in a commandline option use<Pkgname>,
|
||||
where Pkgname is the name of the package with a capitalized first letter.
|
||||
@param pkgName: Name of package.
|
||||
@param default: The default value for this option ("yes"/"no").
|
||||
"""
|
||||
return BoolOption("use%s" % pkgName[0].upper() + pkgName[1:], "use %s if available" % (pkgName), default)
|
||||
|
||||
def _BoolOption(opt, explanation, default=1):
|
||||
""" Allow user to enable/disable a certain option. This results in a commandline option enable<Option>, where Option
|
||||
is the name of the option with a capitalized first letter.
|
||||
@param opt: Name of option.
|
||||
@param explanation: Explanation of option.
|
||||
@param default: The default value for this option (1/0).
|
||||
"""
|
||||
return BoolOption("enable%s" % opt[0].upper() + opt[1:], explanation, default)
|
||||
|
||||
def _EnumOption(opt, explanation, allowedValues, default):
|
||||
""" Allow the user to choose among a set of values for an option. This results in a commandline option with<Option>,
|
||||
where Option is the name of the option with a capitalized first letter.
|
||||
@param opt: The name of the option.
|
||||
@param explanation: Explanation of option.
|
||||
@param allowedValues: The set of values to choose from.
|
||||
@param default: The default value.
|
||||
"""
|
||||
assert default in allowedValues
|
||||
return EnumOption("with%s" % opt[0].upper() + opt[1:], explanation, default, allowed_values=allowedValues)
|
||||
|
||||
def _DirectoryOption(opt, explanation, default):
|
||||
""" Allow the user to configure the location for a certain directory, for instance the prefix. This results in a
|
||||
commandline option which is simply the name of this option.
|
||||
@param opt: The configurable directory, for instance "prefix".
|
||||
@param explanation: Explanation of option.
|
||||
@param default: The default value for this option.
|
||||
"""
|
||||
return PathOption(opt, explanation, default)
|
||||
# Incompatible with the latest stable SCons
|
||||
# return PathOption(path, help, default, PathOption.PathIsDir)
|
||||
|
||||
import SCons.Errors
|
||||
try:
|
||||
Import("Platform", "Posix")
|
||||
except SCons.Errors.UserError:
|
||||
# The common objects must be exported first
|
||||
SConscript("SConscript_common")
|
||||
Import("Platform", "Posix")
|
||||
|
||||
# Expose the options as a dictionary of sets of options
|
||||
opts = {}
|
||||
|
||||
if Platform in Posix:
|
||||
opts["Installation Dirs"] = [_DirectoryOption("prefix", "installation prefix", "/usr/local")]
|
||||
elif Platform in Windows:
|
||||
if Platform == "cygwin":
|
||||
opts["Installation Dirs"] = [_DirectoryOption("prefix", "installation prefix", "/usr/local")]
|
||||
|
||||
opts["Build Targets"] = [_BoolOption("shared", "create shared library"), _BoolOption("static", "create static library"),
|
||||
_BoolOption("tests", "build test programs")]
|
||||
|
||||
apis = []
|
||||
if Platform in Posix:
|
||||
apis.append(_PackageOption("OSS"))
|
||||
apis.append(_PackageOption("JACK"))
|
||||
apis.append(_PackageOption("ALSA", Platform == "linux"))
|
||||
apis.append(_PackageOption("ASIHPI", Platform == "linux"))
|
||||
apis.append(_PackageOption("COREAUDIO", Platform == "darwin"))
|
||||
elif Platform in Windows:
|
||||
if Platform == "cygwin":
|
||||
apis.append(_EnumOption("winAPI", "Windows API to use", ("wmme", "directx", "asio"), "wmme"))
|
||||
|
||||
opts["Host APIs"] = apis
|
||||
|
||||
opts["Build Parameters"] = [\
|
||||
_BoolOption("debug", "compile with debug symbols"),
|
||||
_BoolOption("optimize", "compile with optimization", default=0),
|
||||
_BoolOption("asserts", "runtime assertions are helpful for debugging, but can be detrimental to performance",
|
||||
default=1),
|
||||
_BoolOption("debugOutput", "enable debug output", default=0),
|
||||
# _BoolOption("python", "create Python binding"),
|
||||
("customCFlags", "customize compilation of C code", ""),
|
||||
("customCxxFlags", "customize compilation of C++ code", ""),
|
||||
("customLinkFlags", "customize linking", ""),
|
||||
]
|
||||
|
||||
opts["Bindings"] = [\
|
||||
_BoolOption("cxx", "build Merlijn Blaauw's PA C++ wrapper", default=0)
|
||||
]
|
||||
|
||||
Return("opts")
|
||||
Reference in New Issue
Block a user