comparison src/portaudio_20161030_catalina_patch/bindings/cpp/SConscript @ 77:4edcd14160a5 pa_catalina

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