2016-08-23 21:18:14 -04:00
|
|
|
#!/usr/bin/env python
|
|
|
|
import os
|
|
|
|
import re
|
|
|
|
import shutil
|
|
|
|
import waflib.extras.autowaf as autowaf
|
|
|
|
import waflib.Options as Options, waflib.Utils as Utils
|
|
|
|
|
|
|
|
# Mandatory variables
|
|
|
|
top = '.'
|
|
|
|
out = 'build'
|
|
|
|
|
|
|
|
def options(opt):
|
|
|
|
autowaf.set_options(opt)
|
|
|
|
|
|
|
|
def configure(conf):
|
|
|
|
conf.load('compiler_c')
|
|
|
|
autowaf.configure(conf)
|
2018-12-28 09:47:55 -05:00
|
|
|
autowaf.check_pkg(conf, 'lv2', atleast_version='1.0.0',
|
|
|
|
uselib_store='LV2_1_0_0')
|
2016-08-23 21:18:14 -04:00
|
|
|
|
|
|
|
def build(bld):
|
|
|
|
bundle = 'a-fluidsynth.lv2'
|
|
|
|
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
|
|
|
|
module_ext = module_pat[module_pat.rfind('.'):]
|
|
|
|
|
2020-01-20 17:08:11 -05:00
|
|
|
if bld.is_defined('HAVE_LV2'):
|
2016-08-23 21:18:14 -04:00
|
|
|
# Build RDF files
|
|
|
|
for i in ['manifest.ttl', 'a-fluidsynth.ttl']:
|
2020-01-20 17:08:11 -05:00
|
|
|
obj = bld(features='subst')
|
|
|
|
obj.source = i + '.in'
|
|
|
|
obj.target = '../../LV2/%s/%s' % (bundle, i)
|
|
|
|
obj.install_path = '${LV2DIR}/%s' % bundle
|
|
|
|
obj.chmod = Utils.O644
|
2020-01-25 00:20:16 -05:00
|
|
|
obj.LIB_EXT = module_ext
|
2016-08-23 21:18:14 -04:00
|
|
|
|
|
|
|
# Build plugin library
|
2016-12-06 10:00:42 -05:00
|
|
|
obj = bld(features = 'cxx cshlib',
|
|
|
|
source = 'a-fluidsynth.cc',
|
2016-08-23 21:18:14 -04:00
|
|
|
name = 'a-fluidsynth',
|
2018-10-14 22:06:11 -04:00
|
|
|
cxxflags = [ bld.env['compiler_flags_dict']['pic'] ],
|
2016-08-23 21:18:14 -04:00
|
|
|
includes = [ '../../ardour' ],
|
|
|
|
target = '../../LV2/%s/a-fluidsynth' % bundle,
|
|
|
|
install_path = '${LV2DIR}/%s' % bundle,
|
2020-01-20 17:08:11 -05:00
|
|
|
uselib = ['LIBFLUIDSYNTH', 'GLIB'],
|
2016-08-23 21:18:14 -04:00
|
|
|
use = ['LV2_1_0_0']
|
|
|
|
)
|
|
|
|
|
|
|
|
if bld.is_defined('USE_EXTERNAL_LIBS'):
|
|
|
|
obj.uselib.extend(['LIBFLUIDSYNTH'])
|
|
|
|
else:
|
|
|
|
obj.use.extend(['libfluidsynth_includes', 'libfluidsynth'])
|
|
|
|
|
|
|
|
obj.env.cshlib_PATTERN = module_pat
|
|
|
|
obj.env.cxxshlib_PATTERN = module_pat
|
|
|
|
|
|
|
|
# vi:set ts=4 sw=4 et:
|