aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-04-20 19:14:02 +0200
committerDavid Robillard <d@drobilla.net>2019-04-21 13:49:25 +0200
commite103a630847a401523074ce1023134f09668519b (patch)
tree49536f4d7a2bcfcae131a131fa3dd9b59724373a
parentb51e78a095c116214f257153af3a7c7bc6555e33 (diff)
downloadlv2-e103a630847a401523074ce1023134f09668519b.tar.xz
Fix building within a recursive project
-rw-r--r--plugins/eg-amp.lv2/wscript11
-rw-r--r--plugins/eg-fifths.lv2/wscript11
-rw-r--r--plugins/eg-metro.lv2/wscript11
-rw-r--r--plugins/eg-midigate.lv2/wscript11
-rw-r--r--plugins/eg-params.lv2/wscript11
-rw-r--r--plugins/eg-sampler.lv2/wscript15
-rw-r--r--plugins/eg-scope.lv2/wscript15
-rw-r--r--wscript22
8 files changed, 27 insertions, 80 deletions
diff --git a/plugins/eg-amp.lv2/wscript b/plugins/eg-amp.lv2/wscript
index fc01bc1..6e44f08 100644
--- a/plugins/eg-amp.lv2/wscript
+++ b/plugins/eg-amp.lv2/wscript
@@ -20,8 +20,7 @@ def configure(conf):
conf.load('lv2', cache=True)
conf.load('autowaf', cache=True)
- if not autowaf.is_child():
- autowaf.check_pkg(conf, 'lv2', uselib_store='LV2')
+ autowaf.check_pkg(conf, 'lv2', uselib_store='LV2')
conf.check(features='c cshlib', lib='m', uselib_store='M', mandatory=False)
@@ -47,17 +46,11 @@ def build(bld):
target = '%s/%s' % (bundle, i),
install_path = '${LV2DIR}/%s' % bundle)
- # Use LV2 headers from parent directory if building as a sub-project
- includes = None
- if autowaf.is_child:
- includes = '../..'
-
# Build plugin library
obj = bld(features = 'c cshlib',
source = 'amp.c',
name = 'amp',
target = '%s/amp' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
- uselib = 'M LV2',
- includes = includes)
+ uselib = 'M LV2')
obj.env.cshlib_PATTERN = module_pat
diff --git a/plugins/eg-fifths.lv2/wscript b/plugins/eg-fifths.lv2/wscript
index 9adb174..95ab670 100644
--- a/plugins/eg-fifths.lv2/wscript
+++ b/plugins/eg-fifths.lv2/wscript
@@ -20,8 +20,7 @@ def configure(conf):
conf.load('lv2', cache=True)
conf.load('autowaf', cache=True)
- if not autowaf.is_child():
- autowaf.check_pkg(conf, 'lv2', atleast_version='1.2.1', uselib_store='LV2')
+ autowaf.check_pkg(conf, 'lv2', atleast_version='1.2.1', uselib_store='LV2')
def build(bld):
bundle = 'eg-fifths.lv2'
@@ -45,17 +44,11 @@ def build(bld):
target = '%s/%s' % (bundle, i),
install_path = '${LV2DIR}/%s' % bundle)
- # Use LV2 headers from parent directory if building as a sub-project
- includes = ['.']
- if autowaf.is_child:
- includes += ['../..']
-
# Build plugin library
obj = bld(features = 'c cshlib',
source = 'fifths.c',
name = 'fifths',
target = '%s/fifths' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
- use = 'LV2',
- includes = includes)
+ use = 'LV2')
obj.env.cshlib_PATTERN = module_pat
diff --git a/plugins/eg-metro.lv2/wscript b/plugins/eg-metro.lv2/wscript
index e91e21f..13b09aa 100644
--- a/plugins/eg-metro.lv2/wscript
+++ b/plugins/eg-metro.lv2/wscript
@@ -20,8 +20,7 @@ def configure(conf):
conf.load('lv2', cache=True)
conf.load('autowaf', cache=True)
- if not autowaf.is_child():
- autowaf.check_pkg(conf, 'lv2', atleast_version='0.2.0', uselib_store='LV2')
+ autowaf.check_pkg(conf, 'lv2', atleast_version='0.2.0', uselib_store='LV2')
conf.check(features='c cshlib', lib='m', uselib_store='M', mandatory=False)
@@ -46,17 +45,11 @@ def build(bld):
target = '%s/metro.ttl' % bundle,
install_path = '${LV2DIR}/%s' % bundle)
- # Use LV2 headers from parent directory if building as a sub-project
- includes = ['.']
- if autowaf.is_child:
- includes += ['../..']
-
# Build plugin library
obj = bld(features = 'c cshlib',
source = 'metro.c',
name = 'metro',
target = '%s/metro' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
- use = ['M', 'LV2'],
- includes = includes)
+ use = ['M', 'LV2'])
obj.env.cshlib_PATTERN = module_pat
diff --git a/plugins/eg-midigate.lv2/wscript b/plugins/eg-midigate.lv2/wscript
index b6a85bb..5dbc774 100644
--- a/plugins/eg-midigate.lv2/wscript
+++ b/plugins/eg-midigate.lv2/wscript
@@ -20,8 +20,7 @@ def configure(conf):
conf.load('lv2', cache=True)
conf.load('autowaf', cache=True)
- if not autowaf.is_child():
- autowaf.check_pkg(conf, 'lv2', uselib_store='LV2')
+ autowaf.check_pkg(conf, 'lv2', uselib_store='LV2')
def build(bld):
bundle = 'eg-midigate.lv2'
@@ -45,17 +44,11 @@ def build(bld):
target = '%s/%s' % (bundle, i),
install_path = '${LV2DIR}/%s' % bundle)
- # Use LV2 headers from parent directory if building as a sub-project
- includes = None
- if autowaf.is_child:
- includes = '../..'
-
# Build plugin library
obj = bld(features = 'c cshlib',
source = 'midigate.c',
name = 'midigate',
target = '%s/midigate' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
- uselib = 'LV2',
- includes = includes)
+ uselib = 'LV2')
obj.env.cshlib_PATTERN = module_pat
diff --git a/plugins/eg-params.lv2/wscript b/plugins/eg-params.lv2/wscript
index f618898..4a7d7a5 100644
--- a/plugins/eg-params.lv2/wscript
+++ b/plugins/eg-params.lv2/wscript
@@ -20,8 +20,7 @@ def configure(conf):
conf.load('lv2', cache=True)
conf.load('autowaf', cache=True)
- if not autowaf.is_child():
- autowaf.check_pkg(conf, 'lv2', atleast_version='1.12.1', uselib_store='LV2')
+ autowaf.check_pkg(conf, 'lv2', atleast_version='1.12.1', uselib_store='LV2')
def build(bld):
bundle = 'eg-params.lv2'
@@ -45,17 +44,11 @@ def build(bld):
target = '%s/%s' % (bundle, i),
install_path = '${LV2DIR}/%s' % bundle)
- # Use LV2 headers from parent directory if building as a sub-project
- includes = ['.']
- if autowaf.is_child:
- includes += ['../..']
-
# Build plugin library
obj = bld(features = 'c cshlib',
source = 'params.c',
name = 'params',
target = '%s/params' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
- use = 'LV2',
- includes = includes)
+ use = 'LV2')
obj.env.cshlib_PATTERN = module_pat
diff --git a/plugins/eg-sampler.lv2/wscript b/plugins/eg-sampler.lv2/wscript
index 5d0e03f..7e33d68 100644
--- a/plugins/eg-sampler.lv2/wscript
+++ b/plugins/eg-sampler.lv2/wscript
@@ -20,9 +20,7 @@ def configure(conf):
conf.load('lv2', cache=True)
conf.load('autowaf', cache=True)
- if not autowaf.is_child():
- autowaf.check_pkg(conf, 'lv2', atleast_version='1.2.1', uselib_store='LV2')
-
+ autowaf.check_pkg(conf, 'lv2', atleast_version='1.2.1', uselib_store='LV2')
autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE',
atleast_version='1.0.0', mandatory=True)
autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK2',
@@ -51,19 +49,13 @@ def build(bld):
target = '%s/%s' % (bundle, i),
install_path = '${LV2DIR}/%s' % bundle)
- # Use LV2 headers from parent directory if building as a sub-project
- includes = ['.']
- if autowaf.is_child:
- includes += ['../..']
-
# Build plugin library
obj = bld(features = 'c cshlib',
source = 'sampler.c',
name = 'sampler',
target = '%s/sampler' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
- use = ['M', 'SNDFILE', 'LV2'],
- includes = includes)
+ use = ['M', 'SNDFILE', 'LV2'])
obj.env.cshlib_PATTERN = module_pat
# Build UI library
@@ -73,6 +65,5 @@ def build(bld):
name = 'sampler_ui',
target = '%s/sampler_ui' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
- use = ['GTK2', 'LV2'],
- includes = includes)
+ use = ['GTK2', 'LV2'])
obj.env.cshlib_PATTERN = module_pat
diff --git a/plugins/eg-scope.lv2/wscript b/plugins/eg-scope.lv2/wscript
index 76fece7..ca3413d 100644
--- a/plugins/eg-scope.lv2/wscript
+++ b/plugins/eg-scope.lv2/wscript
@@ -20,9 +20,7 @@ def configure(conf):
conf.load('lv2', cache=True)
conf.load('autowaf', cache=True)
- if not autowaf.is_child():
- autowaf.check_pkg(conf, 'lv2', atleast_version='1.2.1', uselib_store='LV2')
-
+ autowaf.check_pkg(conf, 'lv2', atleast_version='1.2.1', uselib_store='LV2')
autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO',
atleast_version='1.8.10', mandatory=True)
autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK2',
@@ -43,19 +41,13 @@ def build(bld):
install_path = '${LV2DIR}/%s' % bundle,
LIB_EXT = module_ext)
- # Use LV2 headers from parent directory if building as a sub-project
- includes = ['.']
- if autowaf.is_child:
- includes += ['../..']
-
# Build plugin library
obj = bld(features = 'c cshlib',
source = 'examploscope.c',
name = 'examploscope',
target = '%s/examploscope' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
- use = 'LV2',
- includes = includes)
+ use = 'LV2')
obj.env.cshlib_PATTERN = module_pat
# Build UI library
@@ -65,6 +57,5 @@ def build(bld):
name = 'examploscope_ui',
target = '%s/examploscope_ui' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
- use = 'GTK2 CAIRO LV2',
- includes = includes)
+ use = 'GTK2 CAIRO LV2')
obj.env.cshlib_PATTERN = module_pat
diff --git a/wscript b/wscript
index 9e18fd4..c28c55b 100644
--- a/wscript
+++ b/wscript
@@ -94,8 +94,6 @@ def configure(conf):
and not conf.is_defined('HAVE_GCOV')):
conf.check_cc(lib='gcov', define_name='HAVE_GCOV', mandatory=False)
- autowaf.set_recursive()
-
if conf.env.BUILD_PLUGINS:
for i in ['eg-amp.lv2',
'eg-fifths.lv2',
@@ -155,7 +153,8 @@ def load_ttl(files, exclude = []):
# Task to build extension index
def build_index(task):
- sys.path.append('./lv2specgen')
+ src_dir = task.inputs[0].parent.parent
+ sys.path.append(str(src_dir.find_node('lv2specgen')))
import rdflib
import lv2specgen
@@ -163,7 +162,7 @@ def build_index(task):
lv2 = rdflib.Namespace('http://lv2plug.in/ns/lv2core#')
rdf = rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#')
- model = load_ttl(['lv2/core/meta.ttl'])
+ model = load_ttl([str(src_dir.find_node('lv2/core/meta.ttl'))])
# Get date for this version, and list of all LV2 distributions
proj = rdflib.URIRef('http://lv2plug.in/ns/lv2')
@@ -286,7 +285,7 @@ def build(bld):
# Build extensions
for spec in specs:
- build_spec(bld, spec.srcpath())
+ build_spec(bld, spec.path_from(bld.path))
# Build plugins
for plugin in bld.env.LV2_BUILD:
@@ -347,25 +346,25 @@ def build(bld):
index_files = []
for spec in specs:
# Call lv2specgen to generate spec docs
- srcpath = spec.srcpath()
+ srcpath = spec.path_from(bld.path)
basename = os.path.basename(srcpath)
full_path = spec_map[basename]
name = 'lv2core' if basename == 'core' else basename
ttl_name = name + '.ttl'
- index_file = os.path.join('index_rows', name)
- index_files += [index_file]
+ index_file = bld.path.get_bld().make_node('index_rows/' + name)
+ index_files += [index_file.path_from(bld.path)]
root_path = os.path.relpath('lv2/lv2plug.in/ns', full_path)
html_path = '%s/%s.html' % (chop_lv2_prefix(full_path), name)
out_bundle = os.path.dirname(html_path)
- cmd = ('../lv2specgen/lv2specgen.py' +
+ cmd = (str(bld.path.find_node('lv2specgen/lv2specgen.py')) +
' --root-uri=http://lv2plug.in/ns/ --root-path=' + root_path +
' --list-email=devel@lists.lv2plug.in'
' --list-page=http://lists.lv2plug.in/listinfo.cgi/devel-lv2plug.in'
' --style-uri=' + os.path.relpath('aux/style.css', out_bundle) +
' --docdir=' + os.path.relpath('doc/html', os.path.dirname(html_path)) +
- ' --tags=doc/tags' +
- ' --index=' + index_file +
+ ' --tags=%s' % bld.path.get_bld().make_node('doc/tags') +
+ ' --index=' + str(index_file) +
(' --online' if bld.env.ONLINE_DOCS else '') +
' ${SRC} ${TGT}')
@@ -418,6 +417,7 @@ def build(bld):
bld(features = 'c cprogram',
source = bld.path.get_bld().make_node('build-test.c'),
target = 'build-test',
+ includes = '.',
install_path = None)
if bld.env.BUILD_BOOK: