From d5754ebc213c366e584ea7ef961f38c3c16197e6 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 25 Jan 2015 21:57:02 +0000 Subject: Separate LV2 path stuff into separate module. git-svn-id: http://svn.drobilla.net/autowaf@100 e2e4594f-ea7b-45dc-bc5a-5f5301e603aa --- lv2.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 lv2.py (limited to 'lv2.py') diff --git a/lv2.py b/lv2.py new file mode 100644 index 0000000..dd66441 --- /dev/null +++ b/lv2.py @@ -0,0 +1,47 @@ +import os +import sys + +from waflib import Logs +from waflib import Options + +def options(opt): + dirs_options = opt.add_option_group('Installation directories', '') + opt.add_option('--lv2-user', action='store_true', default=False, dest='lv2_user', + help='Install LV2 bundles to user location') + dirs_options.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']) + -- cgit v1.2.1