diff options
author | David Robillard <d@drobilla.net> | 2019-11-10 15:28:59 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2019-11-10 15:29:57 +0100 |
commit | 3140fcc903612f08a9a95951122b9a26856ff36f (patch) | |
tree | 6cecf87483989933d46f224edb6e670de254a32e /extras | |
parent | 0bde0c2e022c479b8c7e3933eca0cbc012825624 (diff) | |
download | autowaf-3140fcc903612f08a9a95951122b9a26856ff36f.tar.gz autowaf-3140fcc903612f08a9a95951122b9a26856ff36f.tar.bz2 autowaf-3140fcc903612f08a9a95951122b9a26856ff36f.zip |
Add lv2lib feature for building plugin binaries
Diffstat (limited to 'extras')
-rw-r--r-- | extras/lv2.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/extras/lv2.py b/extras/lv2.py index ffcb2e7..8376459 100644 --- a/extras/lv2.py +++ b/extras/lv2.py @@ -1,8 +1,10 @@ import os +import re import sys from waflib import Logs from waflib import Options +from waflib import TaskGen def options(opt): conf_opts = opt.get_option_group('Configuration options') @@ -37,7 +39,7 @@ def default_lv2_path(conf): return ['~/.lv2', '/usr/%s/lv2' % libdirname, '/usr/local/%s/lv2' % libdirname] - + def configure(conf): def env_path(parent_dir_var, name): parent = os.getenv(parent_dir_var) @@ -73,3 +75,15 @@ def configure(conf): # Add default LV2_PATH to runtime environment for tests that use plugins if 'LV2_PATH' not in os.environ: conf.run_env['LV2_PATH'] = default_lv2_path(conf) + + # Define dynamically loadable module pattern and extension + lib_pat = re.sub('^lib', '', conf.env.cshlib_PATTERN) + conf.env['LV2_LIB_PATTERN'] = lib_pat + conf.env['LV2_LIB_EXT'] = lib_pat[lib_pat.rfind('.'):] + +@TaskGen.feature('lv2lib') +@TaskGen.before_method('apply_link', 'propagate_uselib_vars') +def build_lv2_lib(self): + """Change library pattern to build a module without the "lib" prefix""" + self.env.cshlib_PATTERN = self.env.LV2_LIB_PATTERN + self.env.cxxshlib_PATTERN = self.env.LV2_LIB_PATTERN |