5 conf
.check_cfg(package
='alsa', atleast_version
='1.0.0', args
='--cflags --libs')
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')
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')
12 conf
.env
['BUILD_DRIVER_FFADO'] = conf
.is_defined('HAVE_LIBFFADO')
14 def create_jack_driver_obj(bld
, target
, sources
, uselib
= None):
15 driver
= bld
.new_task_gen('cxx', 'shlib')
16 driver
.features
.append('cc')
17 driver
.env
['shlib_PATTERN'] = 'jack_%s.so'
18 driver
.defines
= ['HAVE_CONFIG_H','SERVER_SIDE']
19 driver
.includes
= ['.', '../linux', '../posix', '../common', '../common/jack', '../dbus']
20 driver
.target
= target
21 driver
.source
= sources
22 driver
.install_path
= '${ADDON_DIR}/'
24 driver
.uselib
= uselib
25 driver
.uselib_local
= 'serverlib'
29 if bld
.env
['BUILD_JACKD'] == True:
30 jackd
= bld
.new_task_gen('cxx', 'program')
31 jackd
.includes
= ['../linux', '../posix', '../common/jack', '../common', '../dbus']
32 jackd
.defines
= 'HAVE_CONFIG_H'
33 jackd
.source
= ['../common/Jackdmp.cpp']
34 if bld
.env
['IS_LINUX'] and bld
.env
['BUILD_JACKDBUS']:
35 jackd
.source
+= ['../dbus/reserve.c', '../dbus/audio_reserve.c']
36 jackd
.uselib
= 'PTHREAD DL RT DBUS-1'
38 jackd
.uselib
= 'PTHREAD DL RT'
39 jackd
.uselib_local
= 'serverlib'
40 jackd
.target
= 'jackd'
42 create_jack_driver_obj(bld
, 'dummy', '../common/JackDummyDriver.cpp')
44 alsa_driver_src
= ['alsa/JackAlsaDriver.cpp',
45 'alsa/alsa_rawmidi.c',
46 'alsa/alsa_seqmidi.c',
47 'alsa/alsa_midi_jackmp.cpp',
55 if bld
.env
['BUILD_DRIVER_ALSA'] == True:
56 create_jack_driver_obj(bld
, 'alsa', alsa_driver_src
, "ALSA")
58 if bld
.env
['BUILD_DRIVER_FREEBOB'] == True:
59 create_jack_driver_obj(bld
, 'freebob', 'freebob/JackFreebobDriver.cpp', "LIBFREEBOB")
61 if bld
.env
['BUILD_DRIVER_FFADO'] == True:
62 create_jack_driver_obj(bld
, 'firewire', 'firewire/JackFFADODriver.cpp', "LIBFFADO")
64 create_jack_driver_obj(bld
, 'net', '../common/JackNetDriver.cpp')