#!/usr/bin/env python from waflib.extras import autowaf as autowaf import os import sys import re # Library version (UNIX style major, minor, micro) # major increment <=> incompatible changes # minor increment <=> compatible changes (additions) # micro increment <=> no interface changes WAVESAUDIOBACKEND_VERSION = '0.0.1' I18N_PACKAGE = 'wavesaudio-backend' # Mandatory variables top = '.' out = 'build' def options(opt): autowaf.set_options(opt) def configure(conf): if conf.options.dist_target == 'mingw': autowaf.check_pkg(conf, 'portaudio-2.0', uselib_store='PORTAUDIO', atleast_version='19') autowaf.configure(conf) def build(bld): if bld.env['build_target'] == 'mingw': obj = bld(features = 'cxx cxxshlib') else: obj = bld(features = 'c cxx cxxshlib') if sys.platform == 'darwin': if bld.env['build_target'] not in [ 'lion' ]: obj.framework = 'CoreMidi' else: obj.framework = 'CoreMIDI' obj.source = [ 'waves_audiobackend.cc', 'waves_audiobackend.latency.cc', 'waves_audiobackend.midi.cc', 'waves_audiobackend.port_engine.cc', 'waves_dataport.cc', 'waves_audioport.cc', 'waves_midiport.cc', 'waves_midi_device_manager.cc', 'waves_midi_device.cc', 'waves_midi_event.cc', 'waves_midi_buffer.cc', 'wavesapi/refmanager/WCRefManager.cpp', 'wavesapi/devicemanager/WCMRAudioDeviceManager.cpp', 'wavesapi/devicemanager/WCMRNativeAudio.cpp', 'wavesapi/Threads/WCThreadSafe.cpp', 'portmidi/src/pm_common/pmutil.c', 'portmidi/src/pm_common/portmidi.c' ] if bld.env['build_target'] == 'mingw': platform_dependent = [ 'wavesapi/MiscUtils/UMicroseconds.cpp', 'wavesapi/devicemanager/WCMRPortAudioDeviceManager.cpp', 'portmidi/src/pm_win/pmwin.c', 'portmidi/src/pm_win/pmwinmm.c', 'portmidi/src/porttime/ptwinmm.c' ] else: platform_dependent = [ 'wavesapi/devicemanager/WCMRCoreAudioDeviceManager.cpp', 'portmidi/src/pm_mac/pmmac.c', 'portmidi/src/pm_mac/pmmacosxcm.c', 'portmidi/src/pm_mac/finddefault.c', 'portmidi/src/pm_mac/readbinaryplist.c', 'portmidi/src/porttime/ptmacosx_mach.c' ] obj.source.extend(platform_dependent) obj.includes = ['.', 'wavesapi', 'wavesapi/refmanager', 'wavesapi/WavesPublicAPI', 'wavesapi/devicemanager', 'wavesapi/MiscUtils', 'wavesapi/Threads', 'portmidi', 'portmidi/src/pm_common' ] obj.cxxflags = [ '-fPIC' ] obj.cflags = [ '-fPIC', '-fms-extensions' ] obj.name = 'waves_audiobackend' obj.target = 'waves_audiobackend' obj.use = 'libardour libpbd' if bld.env['build_target'] == 'mingw': obj.uselib = ['PORTAUDIO'] obj.vnum = WAVESAUDIOBACKEND_VERSION obj.install_path = os.path.join(bld.env['LIBDIR'], 'backends') if bld.env['build_target']== 'mingw': obj.defines = ['PACKAGE="' + I18N_PACKAGE + '"', 'ARDOURBACKEND_DLL_EXPORTS' ] else: obj.defines = ['PACKAGE="' + I18N_PACKAGE + '"', 'ARDOURBACKEND_DLL_EXPORTS' ]