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 --- autowaf.py | 25 ------------------------- lv2.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 25 deletions(-) create mode 100644 lv2.py diff --git a/autowaf.py b/autowaf.py index 0ffe2d7..cf5e332 100644 --- a/autowaf.py +++ b/autowaf.py @@ -81,11 +81,6 @@ def set_options(opt, debug_by_default=False): opt.add_option('--docs', action='store_true', default=False, dest='docs', help="Build documentation - requires doxygen") - # LV2 options - 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]") g_step = 1 def check_header(conf, lang, name, define='', mandatory=True): @@ -155,7 +150,6 @@ def check_pkg(conf, name, **args): else: conf.env[var_name] = CheckType.OPTIONAL - def normpath(path): if sys.platform == 'win32': return os.path.normpath(path).replace('\\', '/') @@ -197,25 +191,6 @@ def configure(conf): config_dir('MANDIR', opts.mandir, os.path.join(conf.env['DATADIR'], 'man')) config_dir('DOCDIR', opts.docdir, os.path.join(conf.env['DATADIR'], 'doc')) - if Options.options.lv2dir: - conf.env['LV2DIR'] = Options.options.lv2dir - elif Options.options.lv2_user: - if conf.env.DEST_OS == "darwin": - conf.env['LV2DIR'] = os.path.join(os.getenv('HOME'), 'Library/Audio/Plug-Ins/LV2') - elif conf.env.DEST_OS == "win32": - conf.env['LV2DIR'] = os.path.join(os.getenv('APPDATA'), 'LV2') - else: - conf.env['LV2DIR'] = os.path.join(os.getenv('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'] = os.path.join(os.getenv('COMMONPROGRAMFILES'), 'LV2') - else: - conf.env['LV2DIR'] = os.path.join(conf.env['LIBDIR'], 'lv2') - - conf.env['LV2DIR'] = normpath(conf.env['LV2DIR']) - if Options.options.debug: if conf.env['MSVC_COMPILER']: conf.env['CFLAGS'] = ['/Od', '/Zi', '/MTd'] 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