#!/usr/bin/env python from waflib.extras import autowaf as autowaf from waflib import Options 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 JACKBACKEND_VERSION = '1.0.0' I18N_PACKAGE = 'jack-backend' # Mandatory variables top = '.' out = 'build' def options(opt): autowaf.set_options(opt) def configure(conf): autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.121.0') # # PortAudio is currently used to get a list of audio device names. # We should find a better way to do this that doesn't involve this # kind of dependency. # if Options.options.dist_target == 'mingw': autowaf.check_pkg(conf, 'portaudio-2.0', uselib_store='PORTAUDIO', atleast_version='19') autowaf.configure(conf) def build(bld): obj = bld(features = 'cxx cxxshlib') obj.source = [ 'jack_api.cc', 'jack_connection.cc', 'jack_audiobackend.cc', 'jack_portengine.cc', 'jack_utils.cc', 'jack_session.cc', ] obj.includes = ['.'] obj.name = 'jack_audiobackend' obj.target = 'jack_audiobackend' if (bld.env['build_target'] == 'mingw'): obj.uselib = [ 'JACK', 'PORTAUDIO' ] else: obj.uselib = [ 'JACK' ] obj.use = 'ardour libpbd' obj.vnum = JACKBACKEND_VERSION obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'backends') obj.defines = ['PACKAGE="' + I18N_PACKAGE + '"', 'ARDOURBACKEND_DLL_EXPORTS' ] # # device discovery code in the jack backend needs ALSA # on Linux. # if re.search ("linux", sys.platform) != None: obj.uselib += [ 'ALSA' ]