Forward port no-process-after-export fix from 2.X revs 7357 and 7361.
[ardour.git] / libs / surfaces / wscript
1 #!/usr/bin/env python
2 import autowaf
3 import Options
4
5 # Version of this package (even if built as a child)
6 LIBSURFACES_VERSION = '4.1.0'
7
8 # Library version (UNIX style major, minor, micro)
9 # major increment <=> incompatible changes
10 # minor increment <=> compatible changes (additions)
11 # micro increment <=> no interface changes
12 LIBSURFACES_LIB_VERSION = '4.1.0'
13
14 # Variables for 'waf dist'
15 APPNAME = 'libsurfaces'
16 VERSION = LIBSURFACES_VERSION
17
18 # Mandatory variables
19 srcdir = '.'
20 blddir = 'build'
21
22 children = [
23         'control_protocol',
24         'frontier',
25         'generic_midi',
26         'mackie',
27         'osc',
28         'powermate',
29         'tranzport',
30         'wiimote'
31 ]
32
33 def set_options(opt):
34         autowaf.set_options(opt)
35
36 def sub_config_and_use(conf, name, has_objects = True):
37         conf.sub_config(name)
38         autowaf.set_local_lib(conf, name, has_objects)
39
40 def configure(conf):
41         autowaf.set_recursive()
42         autowaf.configure(conf)
43
44         for i in children:
45                 sub_config_and_use(conf, i)
46
47         conf.check_cc (lib='libusb', header_name='libusb.h', function_name='usb_interrupt_write', define_name='BUILD_TRANZPORT')
48         conf.check_cc (header_name='linux/input.h', define_name='BUILD_POWERMATE')
49         conf.check_cc (lib='lo', header_name='lo/lo.h', function_name='lo_server_new', define_name='BUILD_OSC')
50         
51         if Options.options.wiimote:
52                 conf.check_cc (header_name='cwiid.h',define_name='HAVE_CWIID_H')
53                 if not conf.env['HAVE_CWIID_H']:
54                         print 'WIIMOTE configured but you are missing libcwiid!'
55                         sys.exit(1)
56                 conf.check_cc (header_name='bluetooth/bluetooth.h',define_name='HAVE_BLUETOOTH_H')
57                 if not conf.env['HAVE_BLUETOOTH_H']:
58                         print 'WIIMOTE configured but you are missing the libbluetooth headers needed to compile wiimote support!'
59                         sys.exit(1)
60                 conf.define ('BUILD_WIIMOTE', 1)
61
62 def build(bld):
63         bld.add_subdirs('control_protocol')
64         bld.add_subdirs('generic_midi')
65         bld.add_subdirs('mackie')
66         if bld.env['BUILD_OSC']:
67                 bld.add_subdirs('osc')
68         if bld.env['BUILD_POWERMATE']:
69                 bld.add_subdirs('powermate')
70         if bld.env['BUILD_WIIMOTE']:
71                 bld.add_subdirs('wiimote')
72         if bld.env['BUILD_TRANZPORT']:
73                 bld.add_subdirs('tranzport')
74
75 def shutdown():
76         autowaf.shutdown()
77