#! /usr/bin/env python # encoding: utf-8 def create_jack_driver_obj(bld, **kw): driver = bld( features = ['c', 'cxx', 'cxxshlib', 'cshlib'], defines = ['HAVE_CONFIG_H', 'SERVER_SIDE'], includes = ['../linux', '../posix', '../common', '../common/jack', '../dbus', '../'], install_path = '${ADDON_DIR}/', **kw) driver.env['cxxshlib_PATTERN'] = 'jack_%s.so' return driver def build(bld): if bld.env['BUILD_JACKD'] == True: jackd = bld( features = ['cxx', 'cxxprogram'], defines = ['HAVE_CONFIG_H','SERVER_SIDE'], includes = ['../linux', '../posix', '../common/jack', '../common', '../dbus', '../'], target = 'jackd', source = ['../common/Jackdmp.cpp'], use = ['serverlib', 'DL', 'PTHREAD', 'RT', 'M', 'STDC++']) if bld.env['IS_LINUX'] and bld.env['BUILD_JACKDBUS']: jackd.source += ['../dbus/reserve.c', '../dbus/audio_reserve.c'] jackd.use += ['DBUS-1'] create_jack_driver_obj( bld, target = 'dummy', source = '../common/JackDummyDriver.cpp') alsa_driver_src = [ 'alsa/JackAlsaDriver.cpp', 'alsa/alsa_rawmidi.c', 'alsa/alsa_seqmidi.c', 'alsa/alsa_midi_jackmp.cpp', '../common/memops.c', 'alsa/generic_hw.c', 'alsa/hdsp.c', 'alsa/alsa_driver.c', 'alsa/hammerfall.c', 'alsa/ice1712.c' ] alsarawmidi_driver_src = ['alsarawmidi/JackALSARawMidiDriver.cpp', 'alsarawmidi/JackALSARawMidiInputPort.cpp', 'alsarawmidi/JackALSARawMidiOutputPort.cpp', 'alsarawmidi/JackALSARawMidiPort.cpp', 'alsarawmidi/JackALSARawMidiReceiveQueue.cpp', 'alsarawmidi/JackALSARawMidiSendQueue.cpp', 'alsarawmidi/JackALSARawMidiUtil.cpp' ] ffado_driver_src = ['firewire/JackFFADODriver.cpp', 'firewire/JackFFADOMidiInputPort.cpp', 'firewire/JackFFADOMidiOutputPort.cpp', 'firewire/JackFFADOMidiReceiveQueue.cpp', 'firewire/JackFFADOMidiSendQueue.cpp' ] iio_driver_src = ['iio/JackIIODriver.cpp'] if bld.env['BUILD_DRIVER_ALSA']: create_jack_driver_obj( bld, target = 'alsa', source = alsa_driver_src, use = ['ALSA']) create_jack_driver_obj( bld, target = 'alsarawmidi', source = alsarawmidi_driver_src, use = ['ALSA']) if bld.env['BUILD_DRIVER_FREEBOB']: create_jack_driver_obj( bld, target = 'freebob', source = 'freebob/JackFreebobDriver.cpp', use = ['LIBFREEBOB']) if bld.env['BUILD_DRIVER_FFADO']: create_jack_driver_obj( bld, target = 'firewire', source = ffado_driver_src, use = ['LIBFFADO']) if bld.env['BUILD_DRIVER_IIO']: create_jack_driver_obj( bld, target = 'iio', source = iio_driver_src, use = ['GTKIOSTREAM', 'EIGEN3']) create_jack_driver_obj( bld, target = 'net', source = '../common/JackNetDriver.cpp') create_jack_driver_obj( bld, target = 'loopback', source = '../common/JackLoopbackDriver.cpp') create_jack_driver_obj( bld, target = 'netone', source = ['../common/JackNetOneDriver.cpp', '../common/netjack.c', '../common/netjack_packet.c'], use = ['SAMPLERATE', 'CELT']) create_jack_driver_obj( bld, target = 'proxy', source = '../common/JackProxyDriver.cpp')