annotate src/portaudio_20161030_catalina_patch/bindings/cpp/SConscript @ 169:223a55898ab9 tip default

Add null config files
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 02 Mar 2020 14:03:47 +0000
parents d43aab368df9
children
rev   line source
cannam@162 1 import os.path
cannam@162 2
cannam@162 3 Import("env", "buildDir")
cannam@162 4 env.Append(CPPPATH="include")
cannam@162 5
cannam@162 6 ApiVer = "0.0.12"
cannam@162 7 Major, Minor, Micro = [int(c) for c in ApiVer.split(".")]
cannam@162 8
cannam@162 9 sharedLibs = []
cannam@162 10 staticLibs = []
cannam@162 11 Import("Platform", "Posix")
cannam@162 12 if Platform in Posix:
cannam@162 13 env["SHLIBSUFFIX"] = ".so.%d.%d.%d" % (Major, Minor, Micro)
cannam@162 14 soFile = "libportaudiocpp.so"
cannam@162 15 if Platform != 'darwin':
cannam@162 16 env.AppendUnique(SHLINKFLAGS="-Wl,-soname=%s.%d" % (soFile, Major))
cannam@162 17
cannam@162 18 # Create symlinks
cannam@162 19 def symlink(env, target, source):
cannam@162 20 trgt = str(target[0])
cannam@162 21 src = str(source[0])
cannam@162 22 if os.path.islink(trgt) or os.path.exists(trgt):
cannam@162 23 os.remove(trgt)
cannam@162 24 os.symlink(os.path.basename(src), trgt)
cannam@162 25 lnk0 = env.Command(soFile + ".%d" % (Major), soFile + ".%d.%d.%d" % (Major, Minor, Micro), symlink)
cannam@162 26 lnk1 = env.Command(soFile, soFile + ".%d" % (Major), symlink)
cannam@162 27 sharedLibs.append(lnk0)
cannam@162 28 sharedLibs.append(lnk1)
cannam@162 29
cannam@162 30 src = [os.path.join("source", "portaudiocpp", "%s.cxx" % f) for f in ("BlockingStream", "CallbackInterface", \
cannam@162 31 "CallbackStream", "CFunCallbackStream","CppFunCallbackStream", "Device",
cannam@162 32 "DirectionSpecificStreamParameters", "Exception", "HostApi", "InterfaceCallbackStream",
cannam@162 33 "MemFunCallbackStream", "Stream", "StreamParameters", "System", "SystemDeviceIterator",
cannam@162 34 "SystemHostApiIterator")]
cannam@162 35 env.Append(LIBS="portaudio", LIBPATH=buildDir)
cannam@162 36 sharedLib = env.SharedLibrary("portaudiocpp", src, LIBS=["portaudio"])
cannam@162 37 staticLib = env.Library("portaudiocpp", src, LIBS=["portaudio"])
cannam@162 38 sharedLibs.append(sharedLib)
cannam@162 39 staticLibs.append(staticLib)
cannam@162 40
cannam@162 41 headers = Split("""AutoSystem.hxx
cannam@162 42 BlockingStream.hxx
cannam@162 43 CallbackInterface.hxx
cannam@162 44 CallbackStream.hxx
cannam@162 45 CFunCallbackStream.hxx
cannam@162 46 CppFunCallbackStream.hxx
cannam@162 47 Device.hxx
cannam@162 48 DirectionSpecificStreamParameters.hxx
cannam@162 49 Exception.hxx
cannam@162 50 HostApi.hxx
cannam@162 51 InterfaceCallbackStream.hxx
cannam@162 52 MemFunCallbackStream.hxx
cannam@162 53 PortAudioCpp.hxx
cannam@162 54 SampleDataFormat.hxx
cannam@162 55 Stream.hxx
cannam@162 56 StreamParameters.hxx
cannam@162 57 SystemDeviceIterator.hxx
cannam@162 58 SystemHostApiIterator.hxx
cannam@162 59 System.hxx
cannam@162 60 """)
cannam@162 61 if env["PLATFORM"] == "win32":
cannam@162 62 headers.append("AsioDeviceAdapter.hxx")
cannam@162 63 headers = [File(os.path.join("include", "portaudiocpp", h)) for h in headers]
cannam@162 64
cannam@162 65 Return("sharedLibs", "staticLibs", "headers")