#!/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') 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', '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: