Only build one version of the Portaudio backend that supports both blocking and callb...
[ardour.git] / libs / backends / portaudio / wscript
1 #!/usr/bin/env python
2 from waflib.extras import autowaf as autowaf
3 from waflib import Options
4 import os
5 import sys
6 import re
7
8 I18N_PACKAGE = 'portaudio-backend'
9
10 # Mandatory variables
11 top = '.'
12 out = 'build'
13
14 def options(opt):
15     autowaf.set_options(opt)
16
17 def configure(conf):
18     autowaf.configure(conf)
19     autowaf.check_pkg(conf, 'portaudio-2.0', uselib_store='PORTAUDIO', atleast_version='19')
20     conf.check(header_name='pa_asio.h', define_name='WITH_ASIO', mandatory=False)
21
22 def build_portaudio (bld, name, defines):
23     obj = bld(features = 'cxx cxxshlib')
24     obj.source = [ 'portaudio_backend.cc',
25                    'portaudio_io.cc',
26                    'winmmemidi_io.cc',
27                    'winmmemidi_input_device.cc',
28                    'winmmemidi_output_device.cc',
29                    'midi_util.cc',
30                  ]
31     obj.includes = ['.']
32     obj.name     = name
33     obj.target   = name
34     obj.use      = 'libardour libpbd'
35     obj.uselib   = ['PORTAUDIO']
36     obj.install_path  = os.path.join(bld.env['LIBDIR'], 'backends')
37     obj.defines = ['PACKAGE="' + I18N_PACKAGE + '"',
38                    'ARDOURBACKEND_DLL_EXPORTS',
39                    'USE_MMCSS_THREAD_PRIORITIES'
40                   ]
41     obj.defines += defines
42
43 def build(bld):
44     build_portaudio (bld, 'portaudio_callback_backend', ['BACKEND_NAME="PortAudio (default)"'])