From baed7d9386880ed229ebe284f44554ff44f2b8d3 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 26 Mar 2012 03:56:34 +0000 Subject: Remove individual extension pkg-config files and build scripts. --- COPYING | 16 ++ ext.pc.in | 6 - ext.wscript | 199 +++++------------------- lv2/lv2plug.in/ns/ext/atom/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/atom/waf | 1 - lv2/lv2plug.in/ns/ext/cv-port/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/cv-port/waf | 1 - lv2/lv2plug.in/ns/ext/data-access/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/data-access/waf | 1 - lv2/lv2plug.in/ns/ext/dynmanifest/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/dynmanifest/waf | 1 - lv2/lv2plug.in/ns/ext/event/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/event/waf | 1 - lv2/lv2plug.in/ns/ext/host-info/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/host-info/waf | 1 - lv2/lv2plug.in/ns/ext/instance-access/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/instance-access/waf | 1 - lv2/lv2plug.in/ns/ext/log/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/log/waf | 1 - lv2/lv2plug.in/ns/ext/midi/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/midi/waf | 1 - lv2/lv2plug.in/ns/ext/parameters/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/parameters/waf | 1 - lv2/lv2plug.in/ns/ext/patch/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/patch/waf | 1 - lv2/lv2plug.in/ns/ext/port-groups/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/port-groups/waf | 1 - lv2/lv2plug.in/ns/ext/port-props/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/port-props/waf | 1 - lv2/lv2plug.in/ns/ext/presets/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/presets/waf | 1 - lv2/lv2plug.in/ns/ext/resize-port/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/resize-port/waf | 1 - lv2/lv2plug.in/ns/ext/state/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/state/waf | 1 - lv2/lv2plug.in/ns/ext/time/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/time/waf | 1 - lv2/lv2plug.in/ns/ext/uri-map/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/uri-map/waf | 1 - lv2/lv2plug.in/ns/ext/urid/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/urid/waf | 1 - lv2/lv2plug.in/ns/ext/worker/ext.pc.in | 1 - lv2/lv2plug.in/ns/ext/worker/waf | 1 - lv2/lv2plug.in/ns/extensions/ui/ext.pc.in | 1 - lv2/lv2plug.in/ns/extensions/ui/waf | 1 - lv2/lv2plug.in/ns/extensions/units/ext.pc.in | 1 - lv2/lv2plug.in/ns/extensions/units/waf | 1 - lv2/lv2plug.in/ns/lv2core/AUTHORS | 13 -- lv2/lv2plug.in/ns/lv2core/COPYING | 16 -- lv2/lv2plug.in/ns/lv2core/INSTALL | 41 ----- lv2/lv2plug.in/ns/people/ext.pc.in | 1 - lv2/lv2plug.in/ns/people/waf | 1 - waf | Bin 91671 -> 92232 bytes wscript | 57 +++++-- 54 files changed, 98 insertions(+), 296 deletions(-) create mode 100644 COPYING delete mode 100644 ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/atom/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/atom/waf delete mode 120000 lv2/lv2plug.in/ns/ext/cv-port/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/cv-port/waf delete mode 120000 lv2/lv2plug.in/ns/ext/data-access/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/data-access/waf delete mode 120000 lv2/lv2plug.in/ns/ext/dynmanifest/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/dynmanifest/waf delete mode 120000 lv2/lv2plug.in/ns/ext/event/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/event/waf delete mode 120000 lv2/lv2plug.in/ns/ext/host-info/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/host-info/waf delete mode 120000 lv2/lv2plug.in/ns/ext/instance-access/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/instance-access/waf delete mode 120000 lv2/lv2plug.in/ns/ext/log/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/log/waf delete mode 120000 lv2/lv2plug.in/ns/ext/midi/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/midi/waf delete mode 120000 lv2/lv2plug.in/ns/ext/parameters/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/parameters/waf delete mode 120000 lv2/lv2plug.in/ns/ext/patch/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/patch/waf delete mode 120000 lv2/lv2plug.in/ns/ext/port-groups/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/port-groups/waf delete mode 120000 lv2/lv2plug.in/ns/ext/port-props/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/port-props/waf delete mode 120000 lv2/lv2plug.in/ns/ext/presets/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/presets/waf delete mode 120000 lv2/lv2plug.in/ns/ext/resize-port/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/resize-port/waf delete mode 120000 lv2/lv2plug.in/ns/ext/state/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/state/waf delete mode 120000 lv2/lv2plug.in/ns/ext/time/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/time/waf delete mode 120000 lv2/lv2plug.in/ns/ext/uri-map/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/uri-map/waf delete mode 120000 lv2/lv2plug.in/ns/ext/urid/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/urid/waf delete mode 120000 lv2/lv2plug.in/ns/ext/worker/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/ext/worker/waf delete mode 120000 lv2/lv2plug.in/ns/extensions/ui/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/extensions/ui/waf delete mode 120000 lv2/lv2plug.in/ns/extensions/units/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/extensions/units/waf delete mode 100644 lv2/lv2plug.in/ns/lv2core/AUTHORS delete mode 100644 lv2/lv2plug.in/ns/lv2core/COPYING delete mode 100644 lv2/lv2plug.in/ns/lv2core/INSTALL delete mode 120000 lv2/lv2plug.in/ns/people/ext.pc.in delete mode 120000 lv2/lv2plug.in/ns/people/waf diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..4d59452 --- /dev/null +++ b/COPYING @@ -0,0 +1,16 @@ +Copyright 2006-2012 Steve Harris, David Robillard. + +Based on LADSPA, Copyright 2000-2002 Richard W.E. Furse, +Paul Barton-Davis, Stefan Westerfeld. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/ext.pc.in b/ext.pc.in deleted file mode 100644 index c147b1a..0000000 --- a/ext.pc.in +++ /dev/null @@ -1,6 +0,0 @@ -includedir=@INCLUDEDIR@ - -Name: LV2 @NAME@ -Version: @VERSION@ -Description: @DESCRIPTION@ -Cflags: -I${includedir} diff --git a/ext.wscript b/ext.wscript index db0c078..5f9e0c3 100644 --- a/ext.wscript +++ b/ext.wscript @@ -2,16 +2,8 @@ import glob import os import shutil -import sys -from waflib.extras import autowaf as autowaf -from waflib.TaskGen import feature, before -import waflib.Scripting as Scripting -import waflib.Logs as Logs -import waflib.Options as Options -import waflib.Context as Context -import waflib.Utils as Utils -info = None +from waflib.extras import autowaf as autowaf # A rule for making a link in the build directory to a source file def link(task): @@ -26,50 +18,8 @@ def link(task): func(task.inputs[0].abspath(), task.outputs[0].abspath()) -try: - # Read version information from lv2extinfo.py (in a release tarball) - import lv2extinfo - info = lv2extinfo -except: - # Read version information from RDF files - try: - import rdflib - doap = rdflib.Namespace('http://usefulinc.com/ns/doap#') - rdf = rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#') - lv2 = rdflib.Namespace('http://lv2plug.in/ns/lv2core#') - - dir = sys.path[0] - m = rdflib.ConjunctiveGraph() - - for i in glob.glob(os.path.join(dir, '*.ttl')): - m.parse(i, format='n3') - - spec = m.value(None, rdf.type, lv2.Specification) - name = os.path.basename(spec.replace('http://', '')) - - info = type('lv2extinfo', (object,), { - 'NAME' : str(name), - 'MINOR' : int(m.value(spec, lv2.minorVersion, None)), - 'MICRO' : int(m.value(spec, lv2.microVersion, None)), - 'URI' : str(spec), - 'PKGNAME' : str('lv2-' + spec.replace('http://', '').replace('/', '-')), - 'SHORTDESC' : str(m.value(spec, doap.shortdesc, None))}) - - except: - e = sys.exc_info()[1] - Logs.error('Error reading version information: ' + str(e)) - -if not info: - Logs.error("Failed to find version information from lv2extinfo.py or RDF") - sys.exit(1) - -# Variables for 'waf dist' -APPNAME = 'lv2-' + info.NAME -VERSION = '%d.%d' % (info.MINOR, info.MICRO) - -# Mandatory variables -top = '.' -out = 'build' +def configure(conf): + pass def options(opt): opt.load('compiler_c') @@ -80,143 +30,68 @@ def options(opt): dest='copy_headers', help='Copy headers instead of linking to bundle') -def configure(conf): - try: - conf.load('compiler_c') - except: - Options.options.build_tests = False - - conf.env['BUILD_TESTS'] = Options.options.build_tests - conf.env['COPY_HEADERS'] = Options.options.copy_headers - - if not hasattr(os.path, 'relpath') and not Options.options.copy_headers: - conf.fatal( - 'os.path.relpath missing, get Python 2.6 or use --copy-headers') - - # Check for gcov library (for test coverage) - if conf.env['BUILD_TESTS'] and not conf.is_defined('HAVE_GCOV'): - if conf.env['MSVC_COMPILER']: - conf.env.append_unique('CFLAGS', ['-TP', '-MD']) - else: - conf.env.append_unique('CFLAGS', '-std=c99') - conf.check_cc(lib='gcov', define_name='HAVE_GCOV', mandatory=False) - - autowaf.configure(conf) - autowaf.display_header('LV2 %s Configuration' % info.NAME) - autowaf.display_msg(conf, 'LV2 bundle directory', conf.env['LV2DIR']) - autowaf.display_msg(conf, 'URI', info.URI) - autowaf.display_msg(conf, 'Version', VERSION) - autowaf.display_msg(conf, 'Pkgconfig name', info.PKGNAME) - print('') - def build(bld): - uri = info.URI - include_base = os.path.dirname(uri[uri.find('://') + 3:]) - bundle_dir = os.path.join(bld.env['LV2DIR'], info.NAME + '.lv2') - include_dir = os.path.join(bld.env['INCLUDEDIR'], 'lv2', include_base) - - # Pkgconfig file - obj = bld(features = 'subst', - source = 'ext.pc.in', - target = info.PKGNAME + '.pc', - install_path = '${LIBDIR}/pkgconfig', - INCLUDEDIR = bld.env['INCLUDEDIR'], - INCLUDE_PATH = uri.replace('http://', 'lv2/'), - NAME = info.NAME, - VERSION = VERSION, - DESCRIPTION = info.SHORTDESC) - - if bld.env['BUILD_TESTS'] and bld.path.find_node('%s-test.c' % info.NAME): + path = bld.path.srcpath()[len('lv2/'):] + name = os.path.basename(path) + bundle_dir = os.path.join(bld.env['LV2DIR'], name + '.lv2') + include_dir = os.path.join(bld.env['INCLUDEDIR'], 'lv2', path) + + # Copy headers to URI-style include paths in build directory + for i in bld.path.ant_glob('*.h'): + obj = bld(rule = link, + name = 'link', + cwd = 'build/lv2/%s' % path, + source = '%s' % i, + target = 'lv2/%s/%s' % (path, i)) + + if bld.env['BUILD_TESTS'] and bld.path.find_node('%s-test.c' % name): test_lib = [] test_cflags = [''] if bld.is_defined('HAVE_GCOV'): test_lib += ['gcov'] test_cflags += ['-fprofile-arcs', '-ftest-coverage'] - # Copy headers to URI-style include paths in build directory - for i in bld.path.ant_glob('*.h'): - obj = bld(rule = link, - name = 'link', - cwd = 'build/lv2/%s/%s' % (include_base, info.NAME), - source = '%s' % i, - target = 'lv2/%s/%s/%s' % (include_base, info.NAME, i)) - # Unit test program obj = bld(features = 'c cprogram', - source = '%s-test.c' % info.NAME, + source = '%s-test.c' % name, lib = test_lib, - target = '%s-test' % info.NAME, + target = '%s-test' % name, install_path = '', cflags = test_cflags) # Install bundle bld.install_files(bundle_dir, - bld.path.ant_glob('?*.*', excl='*.pc.in lv2extinfo.*')) + bld.path.ant_glob('?*.*', excl='*.in')) # Install URI-like includes - if bld.env['COPY_HEADERS']: - bld.install_files(os.path.join(include_dir, info.NAME), - bld.path.ant_glob('*.h')) - else: - bld.symlink_as(os.path.join(include_dir, info.NAME), - os.path.relpath(bundle_dir, include_dir)) + if bld.path.ant_glob('*.h'): + if bld.env['COPY_HEADERS']: + bld.install_files(include_dir, bld.path.ant_glob('*.h')) + else: + bld.symlink_as(include_dir, + os.path.relpath(bundle_dir, + os.path.dirname(include_dir))) def test(ctx): - autowaf.pre_test(ctx, APPNAME, dirs=['.']) + name = os.path.basename(ctx.path.srcpath()[len('lv2/'):]) + autowaf.pre_test(ctx, name, dirs=['.']) os.environ['PATH'] = '.' + os.pathsep + os.getenv('PATH') - autowaf.run_tests(ctx, APPNAME, ['%s-test' % info.NAME], dirs=['.']) - autowaf.post_test(ctx, APPNAME, dirs=['.']) + autowaf.run_tests(ctx, name, ['%s-test' % name], dirs=['.']) + autowaf.post_test(ctx, name, dirs=['.']) def news(ctx): path = ctx.path.abspath() - autowaf.write_news(APPNAME, + autowaf.write_news(os.path.basename(path), glob.glob(os.path.join(path, '*.ttl')), os.path.join(path, 'NEWS')) -class Dist(Scripting.Dist): - def execute(self): - "Execute but do not call archive() since dist() has already done so." - self.recurse([os.path.dirname(Context.g_module.root_path)]) - - def get_tar_path(self, node): - "Resolve symbolic links to avoid broken links in tarball." - return os.path.realpath(node.abspath()) - -class DistCheck(Dist, Scripting.DistCheck): - def execute(self): - Dist.execute(self) - self.check() - - def archive(self): - Dist.archive(self) - def pre_dist(ctx): - # Write lv2extinfo.py in source directory - path = ctx.path.abspath() - lv2extinfo_py = open(os.path.join(path, 'lv2extinfo.py'), 'w') - for i in info.__dict__: - if i.isupper(): - lv2extinfo_py.write("%s = %s\n" % (i, repr(info.__dict__[i]))) - lv2extinfo_py.close() - # Write NEWS file in source directory news(ctx) -def dist(ctx): - pre_dist(ctx) - ctx.archive() - post_dist(ctx) - -def distcheck(ctx): - dist(ctx) - def post_dist(ctx): - # Delete generated files from source tree - path = ctx.path.abspath() - for i in [os.path.join(path, 'NEWS'), - os.path.join(path, 'lv2extinfo.py'), - os.path.join(path, 'lv2extinfo.pyc')]: - try: - os.remove(i) - except: - pass + # Delete generated NEWS file from source directory + try: + os.remove(os.path.join(ctx.path.abspath(), 'NEWS')) + except: + pass diff --git a/lv2/lv2plug.in/ns/ext/atom/ext.pc.in b/lv2/lv2plug.in/ns/ext/atom/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/atom/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/atom/waf b/lv2/lv2plug.in/ns/ext/atom/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/atom/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/cv-port/ext.pc.in b/lv2/lv2plug.in/ns/ext/cv-port/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/cv-port/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/cv-port/waf b/lv2/lv2plug.in/ns/ext/cv-port/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/cv-port/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/data-access/ext.pc.in b/lv2/lv2plug.in/ns/ext/data-access/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/data-access/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/data-access/waf b/lv2/lv2plug.in/ns/ext/data-access/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/data-access/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/dynmanifest/ext.pc.in b/lv2/lv2plug.in/ns/ext/dynmanifest/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/dynmanifest/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/dynmanifest/waf b/lv2/lv2plug.in/ns/ext/dynmanifest/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/dynmanifest/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/event/ext.pc.in b/lv2/lv2plug.in/ns/ext/event/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/event/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/event/waf b/lv2/lv2plug.in/ns/ext/event/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/event/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/host-info/ext.pc.in b/lv2/lv2plug.in/ns/ext/host-info/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/host-info/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/host-info/waf b/lv2/lv2plug.in/ns/ext/host-info/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/host-info/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/instance-access/ext.pc.in b/lv2/lv2plug.in/ns/ext/instance-access/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/instance-access/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/instance-access/waf b/lv2/lv2plug.in/ns/ext/instance-access/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/instance-access/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/log/ext.pc.in b/lv2/lv2plug.in/ns/ext/log/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/log/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/log/waf b/lv2/lv2plug.in/ns/ext/log/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/log/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/midi/ext.pc.in b/lv2/lv2plug.in/ns/ext/midi/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/midi/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/midi/waf b/lv2/lv2plug.in/ns/ext/midi/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/midi/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/parameters/ext.pc.in b/lv2/lv2plug.in/ns/ext/parameters/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/parameters/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/parameters/waf b/lv2/lv2plug.in/ns/ext/parameters/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/parameters/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/patch/ext.pc.in b/lv2/lv2plug.in/ns/ext/patch/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/patch/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/patch/waf b/lv2/lv2plug.in/ns/ext/patch/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/patch/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/port-groups/ext.pc.in b/lv2/lv2plug.in/ns/ext/port-groups/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/port-groups/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/port-groups/waf b/lv2/lv2plug.in/ns/ext/port-groups/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/port-groups/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/port-props/ext.pc.in b/lv2/lv2plug.in/ns/ext/port-props/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/port-props/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/port-props/waf b/lv2/lv2plug.in/ns/ext/port-props/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/port-props/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/presets/ext.pc.in b/lv2/lv2plug.in/ns/ext/presets/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/presets/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/presets/waf b/lv2/lv2plug.in/ns/ext/presets/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/presets/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/resize-port/ext.pc.in b/lv2/lv2plug.in/ns/ext/resize-port/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/resize-port/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/resize-port/waf b/lv2/lv2plug.in/ns/ext/resize-port/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/resize-port/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/state/ext.pc.in b/lv2/lv2plug.in/ns/ext/state/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/state/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/state/waf b/lv2/lv2plug.in/ns/ext/state/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/state/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/time/ext.pc.in b/lv2/lv2plug.in/ns/ext/time/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/time/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/time/waf b/lv2/lv2plug.in/ns/ext/time/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/time/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/uri-map/ext.pc.in b/lv2/lv2plug.in/ns/ext/uri-map/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/uri-map/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/uri-map/waf b/lv2/lv2plug.in/ns/ext/uri-map/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/uri-map/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/urid/ext.pc.in b/lv2/lv2plug.in/ns/ext/urid/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/urid/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/urid/waf b/lv2/lv2plug.in/ns/ext/urid/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/urid/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/worker/ext.pc.in b/lv2/lv2plug.in/ns/ext/worker/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/ext/worker/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/ext/worker/waf b/lv2/lv2plug.in/ns/ext/worker/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/ext/worker/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/extensions/ui/ext.pc.in b/lv2/lv2plug.in/ns/extensions/ui/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/extensions/ui/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/extensions/ui/waf b/lv2/lv2plug.in/ns/extensions/ui/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/extensions/ui/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/extensions/units/ext.pc.in b/lv2/lv2plug.in/ns/extensions/units/ext.pc.in deleted file mode 120000 index 03dd044..0000000 --- a/lv2/lv2plug.in/ns/extensions/units/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/extensions/units/waf b/lv2/lv2plug.in/ns/extensions/units/waf deleted file mode 120000 index 5235032..0000000 --- a/lv2/lv2plug.in/ns/extensions/units/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../../waf \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/lv2core/AUTHORS b/lv2/lv2plug.in/ns/lv2core/AUTHORS deleted file mode 100644 index 64febf8..0000000 --- a/lv2/lv2plug.in/ns/lv2core/AUTHORS +++ /dev/null @@ -1,13 +0,0 @@ -LV2 is written and maintained by: - -David Robillard -Steve Harris - -with the input and help of many others. - -LV2 is based on LADSPA, which was by: - Paul Barton-Davis - Richard W.E. Furse - Stefan Westerfeld - -Thanks to all members of the free software community who made LV2 possible. diff --git a/lv2/lv2plug.in/ns/lv2core/COPYING b/lv2/lv2plug.in/ns/lv2core/COPYING deleted file mode 100644 index c46d5dd..0000000 --- a/lv2/lv2plug.in/ns/lv2core/COPYING +++ /dev/null @@ -1,16 +0,0 @@ -Copyright 2006-2011 Steve Harris, David Robillard. - -Based on LADSPA, Copyright 2000-2002 Richard W.E. Furse, -Paul Barton-Davis, Stefan Westerfeld. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/lv2core/INSTALL b/lv2/lv2plug.in/ns/lv2core/INSTALL deleted file mode 100644 index 16b1427..0000000 --- a/lv2/lv2plug.in/ns/lv2core/INSTALL +++ /dev/null @@ -1,41 +0,0 @@ -This software requires only Python to build. The build system, based on waf, -is included in this source distribution. - - -LV2Core -======= - -This package contains everything necessary to compile against and/or use LV2 -plugins and extensions: a header file, pkg-config file, and LV2 bundle (with -Turtle files). - -The configure option --bundle-only can be used to install only the lv2core.lv2 -bundle. This is useful for installing the bundle to a project-specific or -user-specific location (e.g. ~/.lv2). - -See README for details on how to correctly package LV2, and how to depend on -LV2 in other projects. - - -Generic Waf Instructions -======================== - -As with most build systems, building and installing a project with waf is done -in three separate stages: - - 1. ./waf configure [OPTIONS] - 2. ./waf build - 3. ./waf install - -The default command is build. For example: - - ./waf configure --prefix=/some/where - ./waf -j2 - sudo ./waf install - -The environment variable DESTDIR can be used to add a prefix to all install -paths (useful for packaging), for example: - - DESTDIR=./lv2core.pkg ./waf install - -Run './waf --help' for detailed option information. diff --git a/lv2/lv2plug.in/ns/people/ext.pc.in b/lv2/lv2plug.in/ns/people/ext.pc.in deleted file mode 120000 index 82b50df..0000000 --- a/lv2/lv2plug.in/ns/people/ext.pc.in +++ /dev/null @@ -1 +0,0 @@ -../../../../ext.pc.in \ No newline at end of file diff --git a/lv2/lv2plug.in/ns/people/waf b/lv2/lv2plug.in/ns/people/waf deleted file mode 120000 index b955110..0000000 --- a/lv2/lv2plug.in/ns/people/waf +++ /dev/null @@ -1 +0,0 @@ -../../../../waf \ No newline at end of file diff --git a/waf b/waf index 56ec822..f1dfd13 100755 Binary files a/waf and b/waf differ diff --git a/wscript b/wscript index f370ee9..f73c912 100644 --- a/wscript +++ b/wscript @@ -12,12 +12,9 @@ import waflib.Logs as Logs import waflib.Options as Options import waflib.Scripting as Scripting -# Version of this package (even if built as a child) -LV2EXT_VERSION = datetime.date.isoformat(datetime.datetime.now()).replace('-', '.') - # Variables for 'waf dist' APPNAME = 'lv2' -VERSION = LV2EXT_VERSION +VERSION = '0.1.0' # Mandatory variables top = '.' @@ -27,8 +24,13 @@ def options(opt): opt.load('compiler_cc') opt.load('compiler_cxx') autowaf.set_options(opt) - opt.add_option('--test', action='store_true', default=False, dest='build_tests', - help="Build unit tests") + opt.add_option('--test', action='store_true', default=False, + dest='build_tests', help="Build unit tests") + opt.add_option('--plugins', action='store_true', default=True, + dest='build_plugins', help="Build example plugins") + opt.add_option('--copy-headers', action='store_true', default=False, + dest='copy_headers', + help='Copy headers instead of linking to bundle') for i in ['lv2/lv2plug.in/ns/lv2core']: opt.recurse(i) @@ -42,13 +44,33 @@ def get_subdirs(with_plugins=True): return subdirs def configure(conf): - conf.load('compiler_cc') - conf.load('compiler_cxx') + try: + conf.load('compiler_c') + conf.load('compiler_cxx') + except: + Options.options.build_tests = False + Options.options.build_plugins = False + autowaf.configure(conf) autowaf.set_recursive() conf.env.append_unique('CFLAGS', '-std=c99') + conf.env['BUILD_TESTS'] = Options.options.build_tests + conf.env['COPY_HEADERS'] = Options.options.copy_headers + + if not hasattr(os.path, 'relpath') and not Options.options.copy_headers: + conf.fatal( + 'os.path.relpath missing, get Python 2.6 or use --copy-headers') + + # Check for gcov library (for test coverage) + if conf.env['BUILD_TESTS'] and not conf.is_defined('HAVE_GCOV'): + if conf.env['MSVC_COMPILER']: + conf.env.append_unique('CFLAGS', ['-TP', '-MD']) + else: + conf.env.append_unique('CFLAGS', '-std=c99') + conf.check_cc(lib='gcov', define_name='HAVE_GCOV', mandatory=False) + subdirs = get_subdirs() for i in subdirs: @@ -56,6 +78,11 @@ def configure(conf): conf.env['LV2_SUBDIRS'] = subdirs + autowaf.configure(conf) + autowaf.display_header('LV2 Configuration') + autowaf.display_msg(conf, 'Bundle directory', conf.env['LV2DIR']) + autowaf.display_msg(conf, 'Version', VERSION) + # Rule for copying a file to the build directory def copy(task): shutil.copy(task.inputs[0].abspath(), task.outputs[0].abspath()) @@ -232,7 +259,7 @@ def build(bld): index_files = [] - # Generate .htaccess files (and directory skeleton) + # Prepare spec output directories for i in bld.env['LV2_SUBDIRS']: if i.startswith('lv2/lv2plug.in'): # Copy spec files to build dir @@ -244,8 +271,6 @@ def build(bld): base = i[len('lv2/lv2plug.in'):] name = os.path.basename(i[:len(i)-1]) - index_file = os.path.join('index_rows', name) - index_files += [index_file] # Generate .htaccess file obj = bld(features = 'subst', @@ -255,7 +280,14 @@ def build(bld): NAME = name, BASE = base) - bld.add_group() + # Call lv2specgen for each spec + for i in bld.env['LV2_SUBDIRS']: + if i.startswith('lv2/lv2plug.in'): + name = os.path.basename(i[:len(i)-1]) + index_file = os.path.join('index_rows', name) + index_files += [index_file] + + bld.add_group() # Barrier (don't call lv2specgen in parallel) # Call lv2specgen to generate spec docs obj = bld(rule = specgen, @@ -265,6 +297,7 @@ def build(bld): index_file]) index_files.sort() + bld.add_group() # Barrier (wait for lv2specgen to build index) # Build extension index obj = bld(rule = build_index, -- cgit v1.2.1