From 277cd0f1959f75db24ecf48be1030aa1af03cd6d Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 7 Jul 2012 06:41:46 +0000 Subject: Add matriseq, a step sequencer for the Novation Launchpad. git-svn-id: http://svn.drobilla.net/lad/trunk/plugins/matriseq@4512 a436a847-0d15-0410-975c-d299462d15a1 --- wscript | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 wscript (limited to 'wscript') diff --git a/wscript b/wscript new file mode 100644 index 0000000..474e96e --- /dev/null +++ b/wscript @@ -0,0 +1,76 @@ +#!/usr/bin/env python +from waflib.extras import autowaf as autowaf + +# Variables for 'waf dist' +APPNAME = 'matriseq.lv2' +VERSION = '1.0.0' + +# Mandatory variables +top = '.' +out = 'build' + +def options(opt): + opt.load('compiler_c') + autowaf.set_options(opt) + +def configure(conf): + conf.load('compiler_c') + autowaf.configure(conf) + autowaf.display_header('Matriseq Configuration') + + if conf.env['MSVC_COMPILER']: + conf.env.append_unique('CFLAGS', ['-TP', '-MD']) + else: + conf.env.append_unique('CFLAGS', '-std=c99') + + autowaf.check_pkg(conf, 'lv2', atleast_version='1.0.0', uselib_store='LV2') + autowaf.check_pkg(conf, 'naub-0', atleast_version='0.0.0', uselib_store='NAUB') + + # Set env['pluginlib_PATTERN'] + pat = conf.env['cshlib_PATTERN'] + if pat.startswith('lib'): + pat = pat[3:] + conf.env['pluginlib_PATTERN'] = pat + conf.env['pluginlib_EXT'] = pat[pat.rfind('.'):] + + autowaf.display_msg(conf, "LV2 bundle directory", conf.env['LV2DIR']) + print('') + +def build(bld): + bundle = 'matriseq.lv2' + + # Build manifest.ttl by substitution (for portable lib extension) + bld(features = 'subst', + source = 'manifest.ttl.in', + target = '%s/%s' % (bundle, 'manifest.ttl'), + install_path = '${LV2DIR}/%s' % bundle, + LIB_EXT = bld.env['pluginlib_EXT']) + + # Copy other data files to build bundle (build/matriseq.lv2) + for i in ['matriseq.ttl']: + bld(features = 'subst', + source = i, + target = '%s/%s' % (bundle, i), + install_path = '${LV2DIR}/%s' % bundle, + LIB_EXT = bld.env['pluginlib_EXT']) + + # Create a build environment that builds module-style library names + # e.g. matriseq.so instead of libmatriseq.so + # Note for C++ you must set cxxshlib_PATTERN instead + penv = bld.env.derive() + penv['cshlib_PATTERN'] = bld.env['pluginlib_PATTERN'] + + includes = None + if autowaf.is_child: + includes = '../..' + + # Build plugin library + obj = bld(features = 'c cshlib', + env = penv, + source = ['matriseq.c', 'zix/ring.c'], + name = 'matriseq', + target = '%s/matriseq' % bundle, + install_path = '${LV2DIR}/%s' % bundle, + includes = includes) + autowaf.use_lib(bld, obj, 'LV2 NAUB') + -- cgit v1.2.1