aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/eg-sampler.lv2/wscript
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/eg-sampler.lv2/wscript')
-rw-r--r--plugins/eg-sampler.lv2/wscript30
1 files changed, 11 insertions, 19 deletions
diff --git a/plugins/eg-sampler.lv2/wscript b/plugins/eg-sampler.lv2/wscript
index 282c844..72717b8 100644
--- a/plugins/eg-sampler.lv2/wscript
+++ b/plugins/eg-sampler.lv2/wscript
@@ -1,5 +1,6 @@
#!/usr/bin/env python
from waflib.extras import autowaf as autowaf
+import re
# Variables for 'waf dist'
APPNAME = 'eg-sampler.lv2'
@@ -31,61 +32,52 @@ def configure(conf):
autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK2',
atleast_version='2.18.0', mandatory=False)
- # 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 = 'eg-sampler.lv2'
+ # Make a pattern for shared objects without the 'lib' prefix
+ module_pat = re.sub('^lib', '', bld.env['cshlib_PATTERN'])
+ module_ext = module_pat[module_pat.rfind('.'):]
+
# 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'])
+ LIB_EXT = module_ext)
# Copy other data files to build bundle (build/eg-sampler.lv2)
- for i in [ 'sampler.ttl', 'click.wav' ]:
+ for i in ['sampler.ttl', 'click.wav']:
bld(rule = 'cp ${SRC} ${TGT}',
source = i,
target = '%s/%s' % (bundle, i),
install_path = '${LV2DIR}/%s' % bundle)
- # Create a build environment that builds module-style library names
- # e.g. eg-sampler.so instead of libeg-sampler.so
- # Note for C++ you must set cxxshlib_PATTERN instead
- penv = bld.env.derive()
- penv['cshlib_PATTERN'] = bld.env['pluginlib_PATTERN']
-
+ # Use LV2 headers from parent directory if building as a sub-project
includes = ['.']
if autowaf.is_child:
includes += ['../..']
# Build plugin library
obj = bld(features = 'c cshlib',
- env = penv,
- source = ['sampler.c'],
+ source = 'sampler.c',
name = 'sampler',
target = '%s/sampler' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
use = 'SNDFILE LV2',
includes = includes)
+ obj.env['cshlib_PATTERN'] = module_pat
# Build UI library
if bld.is_defined('HAVE_GTK2'):
obj = bld(features = 'c cshlib',
- env = penv,
source = 'sampler_ui.c',
name = 'sampler_ui',
target = '%s/sampler_ui' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
use = 'GTK2 LV2',
includes = includes)
-
+ obj.env['cshlib_PATTERN'] = module_pat