annotate src/portaudio/bindings/cpp/SConscript @ 4:e13257ea84a4

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