aboutsummaryrefslogtreecommitdiffstats
path: root/waflib/extras/lv2.py
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2018-09-15 14:51:02 +0200
committerDavid Robillard <d@drobilla.net>2018-09-15 14:51:02 +0200
commit11794904c6eb344b16861236cddf8b6098f9b8ce (patch)
treec747d0763c518040589ad5065b37bd15dc0a360d /waflib/extras/lv2.py
parent407d81be137d9d9c9fba8815dcfde92c1600298f (diff)
parent8c96b17a5393bffee0c521c4872a9fa999048032 (diff)
downloadmachina-11794904c6eb344b16861236cddf8b6098f9b8ce.tar.gz
machina-11794904c6eb344b16861236cddf8b6098f9b8ce.tar.bz2
machina-11794904c6eb344b16861236cddf8b6098f9b8ce.zip
Merge commit '8c96b17a5393bffee0c521c4872a9fa999048032' as 'waflib'
Diffstat (limited to 'waflib/extras/lv2.py')
-rw-r--r--waflib/extras/lv2.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/waflib/extras/lv2.py b/waflib/extras/lv2.py
new file mode 100644
index 0000000..815987f
--- /dev/null
+++ b/waflib/extras/lv2.py
@@ -0,0 +1,47 @@
+import os
+import sys
+
+from waflib import Logs
+from waflib import Options
+
+def options(opt):
+ conf_opts = opt.get_option_group('Configuration options')
+ conf_opts.add_option('--lv2-user', action='store_true', default=False, dest='lv2_user',
+ help='install LV2 bundles to user location')
+ conf_opts.add_option('--lv2dir', type='string',
+ help='LV2 bundles [Default: LIBDIR/lv2]')
+
+def configure(conf):
+ def env_path(parent_dir_var, name):
+ parent = os.getenv(parent_dir_var)
+ if parent:
+ return os.path.join(parent, name)
+ else:
+ Logs.warn('Environment variable %s unset, using LIBDIR\n' % parent_dir_var)
+ return os.path.join(conf.env['LIBDIR'], name)
+
+ def normpath(path):
+ if sys.platform == 'win32':
+ return os.path.normpath(path).replace('\\', '/')
+ else:
+ return os.path.normpath(path)
+
+ if Options.options.lv2dir:
+ conf.env['LV2DIR'] = Options.options.lv2dir
+ elif Options.options.lv2_user:
+ if conf.env.DEST_OS == 'darwin':
+ conf.env['LV2DIR'] = env_path('HOME', 'Library/Audio/Plug-Ins/LV2')
+ elif conf.env.DEST_OS == 'win32':
+ conf.env['LV2DIR'] = env_path('APPDATA', 'LV2')
+ else:
+ conf.env['LV2DIR'] = env_path('HOME', '.lv2')
+ else:
+ if conf.env.DEST_OS == 'darwin':
+ conf.env['LV2DIR'] = '/Library/Audio/Plug-Ins/LV2'
+ elif conf.env.DEST_OS == 'win32':
+ conf.env['LV2DIR'] = env_path('COMMONPROGRAMFILES', 'LV2')
+ else:
+ conf.env['LV2DIR'] = os.path.join(conf.env['LIBDIR'], 'lv2')
+
+ conf.env['LV2DIR'] = normpath(conf.env['LV2DIR'])
+