64 lines
2.2 KiB
Python
64 lines
2.2 KiB
Python
#!/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)
|
|
if Options.options.lv2:
|
|
autowaf.check_pkg(conf, 'lv2', atleast_version='1.0.0',
|
|
uselib_store='LV2_1_0_0')
|
|
autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12.0')
|
|
|
|
def build(bld):
|
|
bundle = 'a-comp.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-comp.ttl', 'a-comp#stereo.ttl', 'presets.ttl']:
|
|
bld(features = 'subst',
|
|
source = i + '.in',
|
|
target = '../../LV2/%s/%s' % (bundle, i),
|
|
install_path = '${LV2DIR}/%s' % bundle,
|
|
chmod = Utils.O644,
|
|
LIB_EXT = module_ext)
|
|
|
|
# Build plugin library
|
|
obj = bld(features = 'c cshlib',
|
|
source = 'a-comp.c',
|
|
name = 'a-comp',
|
|
cflags = [ '-fPIC', bld.env['compiler_flags_dict']['c99'] ],
|
|
includes = [ '../../ardour' ],
|
|
target = '../../LV2/%s/a-comp' % bundle,
|
|
install_path = '${LV2DIR}/%s' % bundle,
|
|
uselib = 'CAIRO',
|
|
use = 'LV2_1_0_0'
|
|
)
|
|
obj.env.cshlib_PATTERN = module_pat
|
|
|
|
# Build plugin GUI
|
|
obj = bld(features = 'cxx cxxshlib',
|
|
source = 'ui.cc',
|
|
name = 'a-comp-ui',
|
|
cxxflags = [ '-fPIC' ],
|
|
target = '../../LV2/%s/a-comp-ui' % bundle,
|
|
install_path = '${LV2DIR}/%s' % bundle,
|
|
uselib = 'GTKMM GTK',
|
|
use = 'LV2_1_0_0'
|
|
)
|
|
obj.env.cxxshlib_PATTERN = module_pat
|
|
|
|
# vi:set ts=4 sw=4 et:
|