From 74d7751c37d2c991d244c1c23e1a4cd24451ac41 Mon Sep 17 00:00:00 2001
From: David Robillard <d@drobilla.net>
Date: Wed, 6 Aug 2014 01:26:06 +0000
Subject: Order book chapters in build script rather than by bundle name.

---
 plugins/eg-scope.lv2/wscript | 73 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)
 create mode 100644 plugins/eg-scope.lv2/wscript

(limited to 'plugins/eg-scope.lv2/wscript')

diff --git a/plugins/eg-scope.lv2/wscript b/plugins/eg-scope.lv2/wscript
new file mode 100644
index 0000000..807d15d
--- /dev/null
+++ b/plugins/eg-scope.lv2/wscript
@@ -0,0 +1,73 @@
+#!/usr/bin/env python
+from waflib.extras import autowaf as autowaf
+import re
+
+# Variables for 'waf dist'
+APPNAME = 'eg-scope.lv2'
+VERSION = '1.0.0'
+
+# Mandatory variables
+top = '.'
+out = 'build'
+
+def options(opt):
+    opt.load('compiler_c')
+    autowaf.set_options(opt)
+
+def configure(conf):
+    conf.load('compiler_c')
+    autowaf.configure(conf)
+    autowaf.set_c99_mode(conf)
+    autowaf.display_header('Scope Configuration')
+
+    if not autowaf.is_child():
+        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',
+                      atleast_version='2.18.0', mandatory=False)
+
+    autowaf.display_msg(conf, 'LV2 bundle directory', conf.env.LV2DIR)
+    print('')
+
+def build(bld):
+    bundle = 'eg-scope.lv2'
+
+    # Make a pattern for shared objects without the 'lib' prefix
+    module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
+    module_ext = module_pat[module_pat.rfind('.'):]
+
+    # Build manifest.ttl by substitution (for portable lib extension)
+    for i in ['manifest.ttl', 'examploscope.ttl']:
+        bld(features     = 'subst',
+            source       = i + '.in',
+            target       = '%s/%s' % (bundle, i),
+            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)
+    obj.env.cshlib_PATTERN = module_pat
+
+    # Build UI library
+    if bld.is_defined('HAVE_GTK2'):
+        obj = bld(features     = 'c cshlib',
+                  source       = 'examploscope_ui.c',
+                  name         = 'examploscope_ui',
+                  target       = '%s/examploscope_ui' % bundle,
+                  install_path = '${LV2DIR}/%s' % bundle,
+                  use          = 'GTK2 CAIRO LV2',
+                  includes     = includes)
+    obj.env.cshlib_PATTERN = module_pat
-- 
cgit v1.2.1