summaryrefslogtreecommitdiff
path: root/libs/plugins/a-fluidsynth.lv2/wscript
blob: 462b4f89db6e33a92700b97a7635c45bbc6f0293 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/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)
    autowaf.check_pkg(conf, 'lv2', atleast_version='1.0.0',
                      uselib_store='LV2_1_0_0')

def build(bld):
    bundle = 'a-fluidsynth.lv2'
    module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
    module_ext = module_pat[module_pat.rfind('.'):]

    if bld.is_defined('HAVE_LV2'):
        # Build RDF files
        for i in ['manifest.ttl', 'a-fluidsynth.ttl']:
            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
            obj.dict = {'LIB_EXT': module_ext}

        # Build plugin library
        obj = bld(features     = 'cxx cshlib',
                  source       = 'a-fluidsynth.cc',
                  name         = 'a-fluidsynth',
                  cxxflags     = [ bld.env['compiler_flags_dict']['pic'] ],
                  includes     = [ '../../ardour' ],
                  target       = '../../LV2/%s/a-fluidsynth' % bundle,
                  install_path = '${LV2DIR}/%s' % bundle,
                  uselib       = ['LIBFLUIDSYNTH', 'GLIB'],
                  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: