X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fsurfaces%2Fwscript;h=5595eed44cef4365356c664a22e4781649b24630;hb=10d37fecc1b54487a5fb0f3652bfb45a5224ef8b;hp=24f7d060edf005100af35965be0423bebb18aff3;hpb=0a61e3893de0149a69415ce218c503025e041712;p=ardour.git diff --git a/libs/surfaces/wscript b/libs/surfaces/wscript index 24f7d060ed..5595eed44c 100644 --- a/libs/surfaces/wscript +++ b/libs/surfaces/wscript @@ -1,5 +1,6 @@ #!/usr/bin/env python -import autowaf +from waflib.extras import autowaf as autowaf +from waflib import Options # Version of this package (even if built as a child) LIBSURFACES_VERSION = '4.1.0' @@ -15,19 +16,65 @@ APPNAME = 'libsurfaces' VERSION = LIBSURFACES_VERSION # Mandatory variables -srcdir = '.' -blddir = 'build' +top = '.' +out = 'build' -def set_options(opt): - autowaf.set_options(opt) +children = [ + 'control_protocol', + 'frontier', + 'generic_midi', + 'mackie', + 'osc', + 'powermate', + 'tranzport', + 'wiimote' +] + +def options(opt): + autowaf.set_options(opt) + +def sub_config_and_use(conf, name, has_objects = True): + conf.recurse(name) + autowaf.set_local_lib(conf, name, has_objects) def configure(conf): - autowaf.configure(conf) + autowaf.set_recursive() + autowaf.configure(conf) + + for i in children: + sub_config_and_use(conf, i) + + autowaf.check_pkg(conf, 'libusb-1.0', uselib_store='USB', mandatory=False) + if Options.options.tranzport and conf.is_defined('HAVE_USB'): + conf.define('BUILD_TRANZPORT', 1) + + #conf.check_cc (lib='libusb', header_name='libusb.h', function_name='usb_interrupt_write', define_name='BUILD_TRANZPORT') + conf.check_cc (header_name='linux/input.h', define_name='BUILD_POWERMATE',mandatory=False) + conf.check_cc (lib='lo', header_name='lo/lo.h', function_name='lo_server_new', define_name='BUILD_OSC',mandatory=False) + + if Options.options.wiimote: + conf.check_cc (header_name='cwiid.h', define_name='HAVE_CWIID_H') + if not conf.is_defined('HAVE_CWIID_H'): + print('WIIMOTE configured but you are missing libcwiid!') + sys.exit(1) + conf.check_cc (header_name='bluetooth/bluetooth.h', define_name='HAVE_BLUETOOTH_H') + if not conf.is_defined('HAVE_BLUETOOTH_H'): + print('WIIMOTE configured but you are missing the libbluetooth headers needed to compile wiimote support!') + sys.exit(1) + conf.define ('BUILD_WIIMOTE', 1) def build(bld): - bld.add_subdirs('control_protocol') - bld.add_subdirs('generic_midi') - -def shutdown(): - autowaf.shutdown() + bld.recurse('control_protocol') + bld.recurse('generic_midi') + bld.recurse('mackie') + if bld.is_defined ('BUILD_OSC'): + bld.recurse('osc') + if bld.is_defined('BUILD_POWERMATE'): + bld.recurse('powermate') + if bld.is_defined('BUILD_WIIMOTE'): + bld.recurse('wiimote') + if bld.is_defined('BUILD_TRANZPORT'): + bld.recurse('tranzport') +def shutdown(): + autowaf.shutdown()