summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autowaf.py (renamed from libs/evoral/autowaf.py)10
-rw-r--r--libs/midi++2/wscript78
-rw-r--r--libs/pbd/mountpoint.cc4
-rw-r--r--libs/pbd/pbd/stacktrace.h4
-rw-r--r--libs/pbd/wscript89
-rwxr-xr-xwaf (renamed from libs/evoral/waf)bin77546 -> 77546 bytes
6 files changed, 180 insertions, 5 deletions
diff --git a/libs/evoral/autowaf.py b/autowaf.py
index 20e3ef3426..3439db9d78 100644
--- a/libs/evoral/autowaf.py
+++ b/autowaf.py
@@ -91,7 +91,7 @@ def check_tool(conf, name):
def check_pkg(conf, name, **args):
"Check for a package iff it hasn't been checked for yet"
- var_name = 'HAVE_' + args['uselib_store']
+ var_name = 'HAVE_' + args['uselib_store'].replace('/', '_')
check = not var_name in conf.env
if not check and 'atleast_version' in args:
# Re-check if version is newer than previous check
@@ -100,13 +100,13 @@ def check_pkg(conf, name, **args):
check = True;
if check:
conf.check_cfg(package=name, args="--cflags --libs", **args)
- found = bool(conf.env['HAVE_' + args['uselib_store']])
+ found = bool(conf.env[var_name])
if found:
- conf.define('HAVE_' + args['uselib_store'], int(found))
+ conf.define(var_name, int(found))
if 'atleast_version' in args:
conf.env['VERSION_' + name] = args['atleast_version']
else:
- conf.undefine('HAVE_' + args['uselib_store'])
+ conf.undefine(var_name)
if args['mandatory'] == True:
conf.fatal("Required package " + name + " not found")
@@ -198,7 +198,7 @@ def configure(conf):
g_step = 2
def set_local_lib(conf, name, has_objects):
- conf.define('HAVE_' + name.upper(), 1)
+ conf.define('HAVE_' + name.upper().replace('/', '_'), 1)
if has_objects:
if type(conf.env['AUTOWAF_LOCAL_LIBS']) != dict:
conf.env['AUTOWAF_LOCAL_LIBS'] = {}
diff --git a/libs/midi++2/wscript b/libs/midi++2/wscript
new file mode 100644
index 0000000000..3b5401b327
--- /dev/null
+++ b/libs/midi++2/wscript
@@ -0,0 +1,78 @@
+#!/usr/bin/env python
+import autowaf
+
+# Version of this package (even if built as a child)
+LIBMIDIPP_VERSION = '0.0.0'
+
+# Library version (UNIX style major, minor, micro)
+# major increment <=> incompatible changes
+# minor increment <=> compatible changes (additions)
+# micro increment <=> no interface changes
+LIBMIDIPP_LIB_VERSION = '4.1.0'
+
+# Variables for 'waf dist'
+APPNAME = 'libmidipp'
+VERSION = LIBMIDIPP_VERSION
+
+# Mandatory variables
+srcdir = '.'
+blddir = 'build'
+
+def set_options(opt):
+ autowaf.set_options(opt)
+
+def configure(conf):
+ autowaf.configure(conf)
+ autowaf.check_tool(conf, 'compiler_cxx')
+ autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2', mandatory=True)
+ autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0', mandatory=True)
+ autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0', mandatory=True)
+ autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML', mandatory=True)
+ autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.109.0', mandatory=True)
+
+ conf.env.append_value('CXXFLAGS', '-DHAVE_WAFCONFIG_H')
+ conf.write_config_header('wafconfig.h')
+
+ # TODO
+ conf.env['SYSMIDI'] == 'JACK MIDI'
+ conf.env.append_value('CXXFLAGS', '-DWITH_JACK_MIDI')
+
+ # Boost headers
+ autowaf.check_header(conf, 'boost/shared_ptr.hpp', mandatory=True)
+ autowaf.check_header(conf, 'boost/weak_ptr.hpp', mandatory=True)
+
+def build(bld):
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ fd_midiport.cc
+ fifomidi.cc
+ midi.cc
+ midichannel.cc
+ midifactory.cc
+ midimanager.cc
+ midiparser.cc
+ midiport.cc
+ midnam_patch.cc
+ mmc.cc
+ mtc.cc
+ version.cc
+ '''
+ if bld.env['SYSMIDI'] == 'JACK MIDI':
+ obj.source += ' jack_midiport.cc '
+ elif bld.env['SYSMIDI'] == 'Alsa Sequencer':
+ obj.source += ' alsa_sequencer_midiport.cc '
+ elif bld.env['SYSMIDI'] == 'CoreMIDI':
+ obj.source += ' coremidi_midiport.cc '
+ obj.export_incdirs = ['.']
+ obj.includes = ['.']
+ obj.name = 'libmidipp'
+ obj.target = 'midipp'
+ obj.uselib = 'GLIBMM SIGCPP XML JACK'
+ obj.uselib_local = 'libpbd libevoral'
+ obj.vnum = LIBMIDIPP_LIB_VERSION
+ obj.install_path = ''
+
+def shutdown():
+ autowaf.shutdown()
+
diff --git a/libs/pbd/mountpoint.cc b/libs/pbd/mountpoint.cc
index f273146343..a4063a0e40 100644
--- a/libs/pbd/mountpoint.cc
+++ b/libs/pbd/mountpoint.cc
@@ -28,6 +28,10 @@
using std::string;
+#ifdef HAVE_WAFCONFIG_H
+#include "wafconfig.h"
+#endif
+
#if HAVE_GETMNTENT
#include <mntent.h>
diff --git a/libs/pbd/pbd/stacktrace.h b/libs/pbd/pbd/stacktrace.h
index 0a349dcaeb..18f7b993e1 100644
--- a/libs/pbd/pbd/stacktrace.h
+++ b/libs/pbd/pbd/stacktrace.h
@@ -29,6 +29,10 @@ namespace PBD {
void stacktrace (std::ostream& out, int levels = 0);
void trace_twb();
+#ifdef HAVE_WAFCONFIG_H
+#include "wafconfig.h"
+#endif
+
#ifdef HAVE_EXECINFO
#include <execinfo.h>
#include <stdlib.h>
diff --git a/libs/pbd/wscript b/libs/pbd/wscript
new file mode 100644
index 0000000000..9b5dc4cbb2
--- /dev/null
+++ b/libs/pbd/wscript
@@ -0,0 +1,89 @@
+#!/usr/bin/env python
+import autowaf
+
+# Version of this package (even if built as a child)
+LIBPBD_VERSION = '0.0.0'
+
+# Library version (UNIX style major, minor, micro)
+# major increment <=> incompatible changes
+# minor increment <=> compatible changes (additions)
+# micro increment <=> no interface changes
+LIBPBD_LIB_VERSION = '4.1.0'
+
+# Variables for 'waf dist'
+APPNAME = 'libpbd'
+VERSION = LIBPBD_VERSION
+
+# Mandatory variables
+srcdir = '.'
+blddir = 'build'
+
+def set_options(opt):
+ autowaf.set_options(opt)
+
+def configure(conf):
+ autowaf.configure(conf)
+ autowaf.check_tool(conf, 'compiler_cxx')
+ autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2', mandatory=True)
+ autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0', mandatory=True)
+ autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0', mandatory=True)
+ autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML', mandatory=True)
+ autowaf.check_pkg(conf, 'uuid', uselib_store='UUID', mandatory=True)
+
+ conf.check(function_name='getmntent', header_name='mntent.h', define_name='HAVE_GETMNTENT')
+ conf.check(header_name='execinfo.h', define_name='HAVE_EXECINFO')
+
+ conf.env.append_value('CXXFLAGS', '-DHAVE_WAFCONFIG_H')
+ conf.write_config_header('wafconfig.h')
+
+ # Boost headers
+ autowaf.check_header(conf, 'boost/shared_ptr.hpp', mandatory=True)
+ autowaf.check_header(conf, 'boost/weak_ptr.hpp', mandatory=True)
+
+def build(bld):
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ obj.source = '''
+ basename.cc
+ base_ui.cc
+ command.cc
+ convert.cc
+ controllable.cc
+ enumwriter.cc
+ dmalloc.cc
+ error.cc
+ filesystem.cc
+ filesystem_paths.cc
+ file_utils.cc
+ fpu.cc
+ id.cc
+ mountpoint.cc
+ pathscanner.cc
+ pool.cc
+ pthread_utils.cc
+ receiver.cc
+ search_path.cc
+ shortpath.cc
+ stacktrace.cc
+ stateful.cc
+ strreplace.cc
+ strsplit.cc
+ textreceiver.cc
+ transmitter.cc
+ undo.cc
+ uuid.cc
+ version.cc
+ whitespace.cc
+ xml++.cc
+ '''
+ obj.export_incdirs = ['.']
+ obj.includes = ['.']
+ obj.name = 'libpbd'
+ obj.target = 'pbd'
+ obj.uselib = 'GLIBMM SIGCPP XML UUID'
+ obj.vnum = LIBPBD_LIB_VERSION
+ obj.install_path = ''
+
+def shutdown():
+ autowaf.shutdown()
+
diff --git a/libs/evoral/waf b/waf
index f9a5c97b6f..f9a5c97b6f 100755
--- a/libs/evoral/waf
+++ b/waf
Binary files differ