switch from bld.new_task_gen() to bld()
[jack2.git] / linux / wscript
blob09784c0ba775a2e64670cf516aa5ec71d55df762
1 #! /usr/bin/env python
2 # encoding: utf-8
4 def configure(conf):
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 = ['cxx', 'cxxshlib'])
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}/'
27 if uselib:
28 driver.uselib = uselib
29 driver.uselib_local = 'serverlib'
30 return driver
32 def build(bld):
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 if bld.env['IS_LINUX'] and bld.env['BUILD_JACKDBUS']:
39 jackd.source += ['../dbus/reserve.c', '../dbus/audio_reserve.c']
40 jackd.uselib = 'PTHREAD DL RT DBUS-1'
41 else:
42 jackd.uselib = 'PTHREAD DL RT'
43 jackd.uselib_local = 'serverlib'
44 jackd.target = 'jackd'
46 create_jack_driver_obj(bld, 'dummy', '../common/JackDummyDriver.cpp')
48 alsa_driver_src = [
49 'alsa/JackAlsaDriver.cpp',
50 'alsa/alsa_rawmidi.c',
51 'alsa/alsa_seqmidi.c',
52 'alsa/alsa_midi_jackmp.cpp',
53 '../common/memops.c',
54 'alsa/generic_hw.c',
55 'alsa/hdsp.c',
56 'alsa/alsa_driver.c',
57 'alsa/hammerfall.c',
58 'alsa/ice1712.c'
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,
80 "ALSA")
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" )