#! /usr/bin/env python # encoding: utf-8 def create_jack_driver_obj(bld, target, sources, uselib = None): driver = bld(features = ['c', 'cxx', 'cxxshlib', 'cshlib']) driver.env['cxxshlib_PATTERN'] = 'jack_%s.dll' driver.defines = ['HAVE_CONFIG_H','SERVER_SIDE'] driver.includes = ['.', '..' , '../windows', '../common', '../common/jack'] driver.target = target driver.source = sources driver.install_path = '${ADDON_DIR}/' driver.use = ['serverlib'] if uselib: driver.use += uselib return driver def build(bld): if bld.env['BUILD_JACKD'] == True: jackd = bld(features = ['cxx', 'cxxprogram']) jackd.includes = ['..', '../windows', '../common/jack', '../common', '../dbus'] jackd.defines = ['HAVE_CONFIG_H','SERVER_SIDE'] jackd.source = ['../common/Jackdmp.cpp'] jackd.install_path = '${BINDIR}' jackd.use = ['serverlib'] jackd.target = 'jackd' create_jack_driver_obj(bld, 'dummy', '../common/JackDummyDriver.cpp') winmme_driver_src = [ 'winmme/JackWinMMEDriver.cpp', 'winmme/JackWinMMEInputPort.cpp', 'winmme/JackWinMMEOutputPort.cpp', 'winmme/JackWinMMEPort.cpp', ] if bld.env['BUILD_DRIVER_WINMME'] == True: winmme_driver = bld(features = ['c', 'cxx', 'cxxshlib', 'cshlib']) winmme_driver.env['cxxshlib_PATTERN'] = 'jack_%s.dll' winmme_driver.defines = ['HAVE_CONFIG_H','SERVER_SIDE'] winmme_driver.includes = ['.', '..' , '../windows', '../common', '../common/jack'] winmme_driver.target = 'winmme' winmme_driver.source = winmme_driver_src winmme_driver.install_path = '${ADDON_DIR}/' winmme_driver.use = ['serverlib', 'WINMME'] portaudio_driver_src = [ 'portaudio/JackPortAudioDevices.cpp', 'portaudio/JackPortAudioDriver.cpp', ] if bld.env['BUILD_DRIVER_PORTAUDIO'] == True: portaudio_driver = bld(features = ['c', 'cxx', 'cxxshlib', 'cshlib']) portaudio_driver.env['cxxshlib_PATTERN'] = 'jack_%s.dll' portaudio_driver.defines = ['HAVE_CONFIG_H','SERVER_SIDE'] portaudio_driver.includes = ['.', '..' , '../windows', '../common', '../common/jack'] portaudio_driver.target = 'portaudio' portaudio_driver.source = portaudio_driver_src portaudio_driver.install_path = '${ADDON_DIR}/' portaudio_driver.use = ['serverlib', 'PORTAUDIO' ] create_jack_driver_obj(bld, 'net', '../common/JackNetDriver.cpp') create_jack_driver_obj(bld, 'loopback', '../common/JackLoopbackDriver.cpp') create_jack_driver_obj(bld, 'netone', [ '../common/JackNetOneDriver.cpp', '../common/netjack.c', '../common/netjack_packet.c' ], ["SAMPLERATE", "CELT"] ) create_jack_driver_obj(bld, 'proxy', '../common/JackProxyDriver.cpp')