#!/usr/bin/env python from waflib.extras import autowaf as autowaf import os # Version of this package (even if built as a child) LIBVAMP_VERSION = '0.0.0' # Library version (UNIX style major, minor, micro) # major increment <=> incompatible changes # minor increment <=> compatible changes (additions) # micro increment <=> no interface changes LIBVAMP_LIB_VERSION = '0.0.0' # Variables for 'waf dist' APPNAME = 'libvamp' VERSION = LIBVAMP_VERSION # Mandatory variables top = '.' out = 'build' def options(opt): autowaf.set_options(opt) def configure(conf): conf.load('compiler_cxx') autowaf.configure(conf) autowaf.check_pkg(conf, 'fftw3', uselib_store='FFTW3', mandatory=True) autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True) conf.env.append_value('CXXFLAGS', '-DHAVE_FFTW3') def build(bld): # Host Library obj = bld(features = 'cxx cxxshlib') obj.source = ''' src/vamp-hostsdk/PluginHostAdapter.cpp src/vamp-hostsdk/PluginBufferingAdapter.cpp src/vamp-hostsdk/PluginChannelAdapter.cpp src/vamp-hostsdk/PluginInputDomainAdapter.cpp src/vamp-hostsdk/PluginLoader.cpp src/vamp-hostsdk/PluginWrapper.cpp src/vamp-hostsdk/RealTime.cpp ''' obj.export_includes = ['.'] obj.includes = ['.'] obj.name = 'libvamphost' obj.target = 'vamphost' obj.uselib = 'FFTW3 FFTW3F' obj.vnum = LIBVAMP_LIB_VERSION obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') # Plugin Library obj = bld(features = 'cxx cxxshlib') obj.source = ''' src/vamp-sdk/PluginAdapter.cpp src/vamp-sdk/RealTime.cpp ''' obj.export_includes = ['.'] obj.includes = ['.'] obj.name = 'libvampplugin' obj.target = 'vampplugin' obj.uselib = 'FFTW3 FFTW3F' obj.vnum = LIBVAMP_LIB_VERSION obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') def shutdown(): autowaf.shutdown()