3 Import("env", "buildDir")
4 env.Append(CPPPATH="include")
7 Major, Minor, Micro = [int(c) for c in ApiVer.split(".")]
11 Import("Platform", "Posix")
13 env["SHLIBSUFFIX"] = ".so.%d.%d.%d" % (Major, Minor, Micro)
14 soFile = "libportaudiocpp.so"
15 env.AppendUnique(SHLINKFLAGS="-Wl,-soname=%s.%d" % (soFile, Major))
18 def symlink(env, target, source):
21 if os.path.islink(trgt) or os.path.exists(trgt):
23 os.symlink(os.path.basename(src), trgt)
24 lnk0 = env.Command(soFile + ".%d" % (Major), soFile + ".%d.%d.%d" % (Major, Minor, Micro), symlink)
25 lnk1 = env.Command(soFile, soFile + ".%d" % (Major), symlink)
26 sharedLibs.append(lnk0)
27 sharedLibs.append(lnk1)
29 src = [os.path.join("source", "portaudiocpp", "%s.cxx" % f) for f in ("BlockingStream", "CallbackInterface", \
30 "CallbackStream", "CFunCallbackStream","CppFunCallbackStream", "Device",
31 "DirectionSpecificStreamParameters", "Exception", "HostApi", "InterfaceCallbackStream",
32 "MemFunCallbackStream", "Stream", "StreamParameters", "System", "SystemDeviceIterator",
33 "SystemHostApiIterator")]
34 env.Append(LIBS="portaudio", LIBPATH=buildDir)
35 sharedLib = env.SharedLibrary("portaudiocpp", src, LIBS=["portaudio"])
36 staticLib = env.Library("portaudiocpp", src, LIBS=["portaudio"])
37 sharedLibs.append(sharedLib)
38 staticLibs.append(staticLib)
40 headers = [File(f) for f in glob(os.path.join("include", "portaudiocpp", "*"))]
41 Return("sharedLibs", "staticLibs", "headers")