5 conf
.check_cfg(package
='alsa', atleast_version
='1.0.18', args
='--cflags --libs', mandatory
=False)
6 conf
.env
['BUILD_DRIVER_ALSA'] = conf
.is_defined('HAVE_ALSA')
8 conf
. check_cfg(package
='libfreebob', atleast_version
='1.0.0', args
='--cflags --libs', mandatory
=False)
9 conf
.env
['BUILD_DRIVER_FREEBOB'] = conf
.is_defined('HAVE_LIBFREEBOB')
11 conf
. check_cfg(package
='libffado', atleast_version
='1.999.17', args
='--cflags --libs', mandatory
=False)
12 conf
.env
['BUILD_DRIVER_FFADO'] = conf
.is_defined('HAVE_LIBFFADO')
14 conf
.define('HAVE_PPOLL', 1 )
16 def create_jack_driver_obj(bld
, target
, sources
, uselib
= None):
17 driver
= bld(features
= ['c', 'cxx', 'cxxshlib', 'cshlib'])
18 driver
.env
['cxxshlib_PATTERN'] = 'jack_%s.so'
20 #driver.defines = ['HAVE_CONFIG_H','SERVER_SIDE', 'HAVE_PPOLL']
21 driver
.defines
= ['HAVE_CONFIG_H','SERVER_SIDE', 'HAVE_PPOLL', 'HAVE_TIMERFD']
23 driver
.includes
= ['.', '../linux', '../posix', '../common', '../common/jack', '../dbus', '../']
24 driver
.target
= target
25 driver
.source
= sources
26 driver
.install_path
= '${ADDON_DIR}/'
33 if bld
.env
['BUILD_JACKD'] == True:
34 jackd
= bld(features
= ['cxx', 'cxxprogram'])
35 jackd
.includes
= ['../linux', '../posix', '../common/jack', '../common', '../dbus', '../']
36 jackd
.defines
= ['HAVE_CONFIG_H','SERVER_SIDE']
37 jackd
.source
= ['../common/Jackdmp.cpp']
38 jackd
.use
= ['serverlib']
39 if bld
.env
['IS_LINUX'] and bld
.env
['BUILD_JACKDBUS']:
40 jackd
.source
+= ['../dbus/reserve.c', '../dbus/audio_reserve.c']
41 jackd
.use
+= ['PTHREAD', 'DL', 'RT', 'DBUS-1']
43 jackd
.use
+= ['PTHREAD', 'DL', 'RT']
44 jackd
.target
= 'jackd'
46 create_jack_driver_obj(bld
, 'dummy', '../common/JackDummyDriver.cpp')
49 'alsa/JackAlsaDriver.cpp',
50 'alsa/alsa_rawmidi.c',
51 'alsa/alsa_seqmidi.c',
52 'alsa/alsa_midi_jackmp.cpp',
61 alsarawmidi_driver_src
= ['alsarawmidi/JackALSARawMidiDriver.cpp',
62 'alsarawmidi/JackALSARawMidiInputPort.cpp',
63 'alsarawmidi/JackALSARawMidiOutputPort.cpp',
64 'alsarawmidi/JackALSARawMidiPort.cpp',
65 'alsarawmidi/JackALSARawMidiReceiveQueue.cpp',
66 'alsarawmidi/JackALSARawMidiSendQueue.cpp',
67 'alsarawmidi/JackALSARawMidiUtil.cpp'
70 ffado_driver_src
= ['firewire/JackFFADODriver.cpp',
71 'firewire/JackFFADOMidiInputPort.cpp',
72 'firewire/JackFFADOMidiOutputPort.cpp',
73 'firewire/JackFFADOMidiReceiveQueue.cpp',
74 'firewire/JackFFADOMidiSendQueue.cpp'
77 if bld
.env
['BUILD_DRIVER_ALSA'] == True:
78 create_jack_driver_obj(bld
, 'alsa', alsa_driver_src
, ["ALSA"])
79 create_jack_driver_obj(bld
, 'alsarawmidi', alsarawmidi_driver_src
,
82 if bld
.env
['BUILD_DRIVER_FREEBOB'] == True:
83 create_jack_driver_obj(bld
, 'freebob', 'freebob/JackFreebobDriver.cpp', ["LIBFREEBOB"])
85 if bld
.env
['BUILD_DRIVER_FFADO'] == True:
86 create_jack_driver_obj(bld
, 'firewire', ffado_driver_src
, ["LIBFFADO"])
88 create_jack_driver_obj(bld
, 'net', '../common/JackNetDriver.cpp')
90 create_jack_driver_obj(bld
, 'loopback', '../common/JackLoopbackDriver.cpp')
92 create_jack_driver_obj(bld
, 'netone', [ '../common/JackNetOneDriver.cpp',
93 '../common/netjack.c',
94 '../common/netjack_packet.c' ], ["SAMPLERATE", "CELT"])