#!/usr/bin/env python from waflib.extras import autowaf as autowaf import re # Variables for 'waf dist' APPNAME = 'eg-scope.lv2' VERSION = '1.0.0' # Mandatory variables top = '.' out = 'build' def options(opt): opt.load('compiler_c') opt.load('lv2') autowaf.set_options(opt) def configure(conf): conf.load('compiler_c', cache=True) conf.load('lv2', cache=True) conf.load('autowaf', cache=True) conf.check_pkg('lv2 >= 1.2.1', uselib_store='LV2') conf.check_pkg('cairo >= 1.8.10', uselib_store='CAIRO') conf.check_pkg('gtk+-2.0 >= 2.18.0', uselib_store='GTK2', system=True, mandatory=False) def build(bld): bundle = 'eg-scope.lv2' # Build manifest.ttl by substitution (for portable lib extension) for i in ['manifest.ttl', 'examploscope.ttl']: bld(features = 'subst', source = i + '.in', target = 'lv2/%s/%s' % (bundle, i), install_path = '${LV2DIR}/%s' % bundle, LIB_EXT = bld.env.LV2_LIB_EXT) # Build plugin library obj = bld(features = 'c cshlib lv2lib', source = 'examploscope.c', name = 'examploscope', target = 'lv2/%s/examploscope' % bundle, install_path = '${LV2DIR}/%s' % bundle, use = 'LV2') # Build UI library if bld.env.HAVE_GTK2: obj = bld(features = 'c cshlib lv2lib', source = 'examploscope_ui.c', name = 'examploscope_ui', target = 'lv2/%s/examploscope_ui' % bundle, install_path = '${LV2DIR}/%s' % bundle, use = 'GTK2 CAIRO LV2')