summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-09-30 07:52:18 +0000
committerDavid Robillard <d@drobilla.net>2008-09-30 07:52:18 +0000
commit67c3b09a1e46cad7acf84801cd89ccef48fb2bf6 (patch)
tree23542ccc948534af9ceb58825684aa3197e73716
parent5154ddbcccbb0448ee2ccea41db392f5d9d53303 (diff)
downloadingen-67c3b09a1e46cad7acf84801cd89ccef48fb2bf6.tar.gz
ingen-67c3b09a1e46cad7acf84801cd89ccef48fb2bf6.tar.bz2
ingen-67c3b09a1e46cad7acf84801cd89ccef48fb2bf6.zip
Wafify ingen.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1548 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--src/libs/client/wscript35
-rw-r--r--src/libs/engine/MidiDriver.hpp6
-rw-r--r--src/libs/engine/wscript73
-rw-r--r--src/libs/gui/App.cpp2
-rw-r--r--src/libs/gui/GladeFactory.cpp6
-rw-r--r--src/libs/gui/LoadPatchWindow.cpp2
-rw-r--r--src/libs/gui/LoadSubpatchWindow.cpp2
-rw-r--r--src/libs/gui/Makefile.am2
-rw-r--r--src/libs/gui/wscript65
-rw-r--r--src/libs/module/wscript17
-rw-r--r--src/libs/serialisation/wscript16
-rw-r--r--src/libs/shared/wscript19
-rw-r--r--src/progs/ingen/wscript13
l---------waf1
-rw-r--r--wscript57
15 files changed, 308 insertions, 8 deletions
diff --git a/src/libs/client/wscript b/src/libs/client/wscript
new file mode 100644
index 00000000..6b4408a7
--- /dev/null
+++ b/src/libs/client/wscript
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+import Params
+
+def build(bld):
+ obj = bld.create_obj('cpp', 'shlib')
+ obj.source = '''
+ ClientStore.cpp
+ NodeModel.cpp
+ ObjectModel.cpp
+ PatchModel.cpp
+ PluginModel.cpp
+ PluginUI.cpp
+ PortModel.cpp
+ ThreadedSigClientInterface.cpp
+ client.cpp
+ '''
+
+ if bld.env()['HAVE_SOUP']:
+ obj.source += '''
+ HTTPClientReceiver.cpp
+ HTTPEngineSender.cpp
+ '''
+
+ if bld.env()['HAVE_XML2']:
+ obj.source += ' DeprecatedLoader.cpp '
+
+ if bld.env()['HAVE_LIBLO']:
+ obj.source += ' OSCClientReceiver.cpp OSCEngineSender.cpp '
+
+ obj.includes = ['..', '../../common', '../..']
+ obj.name = 'libingen_client'
+ obj.target = 'ingen_client'
+ obj.uselib = 'GLIBMM SLV2 RAUL REDLANDMM SOUP XML2 SIGCPP'
+ obj.vnum = '0.0.0'
+
diff --git a/src/libs/engine/MidiDriver.hpp b/src/libs/engine/MidiDriver.hpp
index bd801eb4..e268124b 100644
--- a/src/libs/engine/MidiDriver.hpp
+++ b/src/libs/engine/MidiDriver.hpp
@@ -80,9 +80,13 @@ public:
void enable() {}
void disable() {}
+ DriverPort* create_port(DuplexPort* patch_port) { return NULL; }
+
+ DriverPort* driver_port(const Raul::Path& path) { return NULL; }
+
DriverPort* new_port(DuplexPort* patch_port) { return NULL; }
- void add_port(DriverPort* port) {}
+ void add_port(DriverPort* port) {}
DriverPort* remove_port(const Raul::Path& path) { return NULL; }
void pre_process(ProcessContext& context) {}
diff --git a/src/libs/engine/wscript b/src/libs/engine/wscript
new file mode 100644
index 00000000..1ad135d3
--- /dev/null
+++ b/src/libs/engine/wscript
@@ -0,0 +1,73 @@
+#!/usr/bin/env python
+import Params
+
+def build(bld):
+ obj = bld.create_obj('cpp', 'shlib')
+ obj.source = '''
+ AudioBuffer.cpp
+ Buffer.cpp
+ ClientBroadcaster.cpp
+ ConnectionImpl.cpp
+ DuplexPort.cpp
+ Engine.cpp
+ EngineStore.cpp
+ Event.cpp
+ EventBuffer.cpp
+ EventSink.cpp
+ InputPort.cpp
+ InternalPlugin.cpp
+ JackAudioDriver.cpp
+ JackMidiDriver.cpp
+ LADSPAPlugin.cpp
+ LV2Info.cpp
+ LV2Plugin.cpp
+ MessageContext.cpp
+ MidiControlNode.cpp
+ MidiNoteNode.cpp
+ MidiTriggerNode.cpp
+ NodeBase.cpp
+ NodeFactory.cpp
+ OSCClientSender.cpp
+ OSCEngineReceiver.cpp
+ ObjectSender.cpp
+ OutputPort.cpp
+ PluginImpl.cpp
+ PortImpl.cpp
+ PostProcessor.cpp
+ ProcessSlave.cpp
+ QueuedEngineInterface.cpp
+ QueuedEvent.cpp
+ QueuedEventSource.cpp
+ TransportNode.cpp
+ engine.cpp
+ events/AllNotesOffEvent.cpp
+ events/ConnectionEvent.cpp
+ events/CreateNodeEvent.cpp
+ events/CreatePortEvent.cpp
+ events/DeactivateEvent.cpp
+ events/DestroyEvent.cpp
+ events/DisconnectAllEvent.cpp
+ events/DisconnectionEvent.cpp
+ events/LoadPluginsEvent.cpp
+ events/MidiLearnEvent.cpp
+ events/NoteEvent.cpp
+ events/RegisterClientEvent.cpp
+ events/RenameEvent.cpp
+ events/RequestAllObjectsEvent.cpp
+ events/RequestMetadataEvent.cpp
+ events/RequestObjectEvent.cpp
+ events/RequestPluginEvent.cpp
+ events/RequestPluginsEvent.cpp
+ events/RequestPortValueEvent.cpp
+ events/SendPortActivityEvent.cpp
+ events/SendPortValueEvent.cpp
+ events/SetMetadataEvent.cpp
+ events/SetPortValueEvent.cpp
+ events/UnregisterClientEvent.cpp
+ '''
+ obj.includes = ['..', '../../common', '../..', './events']
+ obj.name = 'libingen_engine'
+ obj.target = 'ingen_engine'
+ obj.uselib = 'GLIBMM GTHREAD SLV2 JACK LIBLO RAUL REDLANDMM SOUP'
+ obj.vnum = '0.0.0'
+
diff --git a/src/libs/gui/App.cpp b/src/libs/gui/App.cpp
index 9cf69596..f49d394c 100644
--- a/src/libs/gui/App.cpp
+++ b/src/libs/gui/App.cpp
@@ -107,7 +107,7 @@ App::run(int argc, char** argv, Ingen::Shared::World* world)
_instance->configuration()->apply_settings();
// Set default window icon
- const Glib::ustring icon_path = PKGDATADIR "/ingen.svg";
+ const Glib::ustring icon_path = INGEN_DATA_DIR "/ingen.svg";
try {
if (Glib::file_test(icon_path, Glib::FILE_TEST_EXISTS))
Gtk::Window::set_default_icon_from_file(icon_path);
diff --git a/src/libs/gui/GladeFactory.cpp b/src/libs/gui/GladeFactory.cpp
index 63dc4d0b..2b4d3ec9 100644
--- a/src/libs/gui/GladeFactory.cpp
+++ b/src/libs/gui/GladeFactory.cpp
@@ -38,14 +38,14 @@ GladeFactory::find_glade_file()
glade_filename = "./ingen_gui.glade";
ifstream fs(glade_filename.c_str());
- if (fs.fail()) { // didn't find it, check PKGDATADIR
+ if (fs.fail()) { // didn't find it, check INGEN_DATA_DIR
fs.clear();
- glade_filename = PKGDATADIR;
+ glade_filename = INGEN_DATA_DIR;
glade_filename += "/ingen_gui.glade";
fs.open(glade_filename.c_str());
if (fs.fail()) {
- cerr << "[GladeFactory] Unable to find ingen_gui.glade in current directory or " << PKGDATADIR << "." << endl;
+ cerr << "[GladeFactory] Unable to find ingen_gui.glade in current directory or " << INGEN_DATA_DIR << "." << endl;
throw;
}
fs.close();
diff --git a/src/libs/gui/LoadPatchWindow.cpp b/src/libs/gui/LoadPatchWindow.cpp
index c33ad495..70d3ec5b 100644
--- a/src/libs/gui/LoadPatchWindow.cpp
+++ b/src/libs/gui/LoadPatchWindow.cpp
@@ -60,7 +60,7 @@ LoadPatchWindow::LoadPatchWindow(BaseObjectType* cobject, const Glib::RefPtr<Gno
set_filter(filt);
// Add global examples directory to "shortcut folders" (bookmarks)
- string examples_dir = PKGDATADIR;
+ string examples_dir = INGEN_DATA_DIR;
examples_dir.append("/patches");
DIR* d = opendir(examples_dir.c_str());
if (d != NULL)
diff --git a/src/libs/gui/LoadSubpatchWindow.cpp b/src/libs/gui/LoadSubpatchWindow.cpp
index 52a989af..71dbfb36 100644
--- a/src/libs/gui/LoadSubpatchWindow.cpp
+++ b/src/libs/gui/LoadSubpatchWindow.cpp
@@ -65,7 +65,7 @@ LoadSubpatchWindow::LoadSubpatchWindow(BaseObjectType* cobject, const Glib::RefP
property_select_multiple() = true;
// Add global examples directory to "shortcut folders" (bookmarks)
- string examples_dir = PKGDATADIR;
+ string examples_dir = INGEN_DATA_DIR;
examples_dir.append("/patches");
DIR* d = opendir(examples_dir.c_str());
if (d != NULL)
diff --git a/src/libs/gui/Makefile.am b/src/libs/gui/Makefile.am
index 6acd9b9f..41458812 100644
--- a/src/libs/gui/Makefile.am
+++ b/src/libs/gui/Makefile.am
@@ -15,7 +15,7 @@ module_LTLIBRARIES = libingen_gui.la
libingen_gui_la_CXXFLAGS = \
-DINGEN_MODULE_DIR=\"$(libdir)/ingen\" \
- -DPKGDATADIR=\"$(pkgdatadir)\" \
+ -DINGEN_DATA_DIR=\"$(pkgdatadir)\" \
@CURL_CFLAGS@ \
@FLOWCANVAS_CFLAGS@ \
@GNOMECANVASMM_CFLAGS@ \
diff --git a/src/libs/gui/wscript b/src/libs/gui/wscript
new file mode 100644
index 00000000..8895c7bc
--- /dev/null
+++ b/src/libs/gui/wscript
@@ -0,0 +1,65 @@
+#!/usr/bin/env python
+import Params
+
+def build(bld):
+ obj = bld.create_obj('cpp', 'shlib')
+ obj.source = '''
+ App.cpp
+ BreadCrumbBox.cpp
+ Configuration.cpp
+ ConnectWindow.cpp
+ ControlPanel.cpp
+ Controls.cpp
+ GladeFactory.cpp
+ LoadPatchWindow.cpp
+ LoadPluginWindow.cpp
+ LoadRemotePatchWindow.cpp
+ LoadSubpatchWindow.cpp
+ MessagesWindow.cpp
+ NewSubpatchWindow.cpp
+ NodeControlWindow.cpp
+ NodeMenu.cpp
+ NodeModule.cpp
+ NodePropertiesWindow.cpp
+ ObjectMenu.cpp
+ PatchCanvas.cpp
+ PatchPortModule.cpp
+ PatchPropertiesWindow.cpp
+ PatchTreeWindow.cpp
+ PatchView.cpp
+ PatchWindow.cpp
+ Port.cpp
+ PortMenu.cpp
+ PortPropertiesWindow.cpp
+ RenameWindow.cpp
+ SubpatchModule.cpp
+ ThreadedLoader.cpp
+ WindowFactory.cpp
+ gui.cpp
+ '''
+
+ if bld.env()['HAVE_CURL']:
+ obj.source += 'UploadPatchWindow.cpp'
+
+ dir = Params.g_options.moduledir or bld.env()['PREFIX'] + 'lib/ingen'
+
+ obj.includes = ['..', '../../common', '../..']
+ obj.defines = 'INGEN_DATA_DIR=\\\"' + dir + '\\\"'
+ obj.name = 'libingen_gui'
+ obj.target = 'ingen_gui'
+ obj.vnum = '0.0.0'
+ obj.uselib_local = 'libingen_client libingen_shared'
+ obj.uselib = '''
+ CURL
+ FLOWCANVAS
+ GLADEMM
+ GLIBMM
+ GNOMECANVASMM
+ GTKMM
+ RAUL
+ REDLANDMM
+ SIGCPP
+ SLV2
+ SOUP
+ XML2
+ '''
diff --git a/src/libs/module/wscript b/src/libs/module/wscript
new file mode 100644
index 00000000..e202342d
--- /dev/null
+++ b/src/libs/module/wscript
@@ -0,0 +1,17 @@
+#!/usr/bin/env python
+import Params
+
+def build(bld):
+ dir = Params.g_options.moduledir or bld.env()['PREFIX'] + 'lib/ingen'
+ obj = bld.create_obj('cpp', 'shlib')
+ obj.source = '''
+ Module.cpp
+ global.cpp
+ '''
+ obj.includes = ['..', '../../common', '../..']
+ obj.defines = 'INGEN_MODULE_DIR=\\\"' + dir + '\\\"'
+ obj.name = 'libingen_module'
+ obj.target = 'ingen_module'
+ obj.uselib = 'GLIBMM SLV2 RAUL REDLANDMM'
+ obj.vnum = '0.0.0'
+
diff --git a/src/libs/serialisation/wscript b/src/libs/serialisation/wscript
new file mode 100644
index 00000000..c3e98b81
--- /dev/null
+++ b/src/libs/serialisation/wscript
@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+import Params
+
+def build(bld):
+ obj = bld.create_obj('cpp', 'shlib')
+ obj.source = '''
+ Parser.cpp
+ Serialiser.cpp
+ serialisation.cpp
+ '''
+ obj.includes = ['..', '../../common', '../..']
+ obj.name = 'libingen_serialisation'
+ obj.target = 'ingen_serialisation'
+ obj.uselib = 'GLIBMM SLV2 RAUL REDLANDMM'
+ obj.vnum = '0.0.0'
+
diff --git a/src/libs/shared/wscript b/src/libs/shared/wscript
new file mode 100644
index 00000000..1974a827
--- /dev/null
+++ b/src/libs/shared/wscript
@@ -0,0 +1,19 @@
+#!/usr/bin/env python
+import Params
+
+def build(bld):
+ obj = bld.create_obj('cpp', 'shlib')
+ obj.source = '''
+ Builder.cpp
+ ClashAvoider.cpp
+ LV2Features.cpp
+ LV2URIMap.cpp
+ OSCSender.cpp
+ Store.cpp
+ '''
+ obj.includes = ['..', '../../common', '../..']
+ obj.name = 'libingen_shared'
+ obj.target = 'ingen_shared'
+ obj.uselib = 'GLIBMM SLV2 RAUL REDLANDMM'
+ obj.vnum = '0.0.0'
+
diff --git a/src/progs/ingen/wscript b/src/progs/ingen/wscript
new file mode 100644
index 00000000..ce802e36
--- /dev/null
+++ b/src/progs/ingen/wscript
@@ -0,0 +1,13 @@
+#!/usr/bin/env python
+
+def build(bld):
+ obj = bld.create_obj('cpp', 'program')
+ obj.target = 'ingen'
+ obj.source = 'main.cpp cmdline.c'
+ obj.includes = '.'
+ obj.includes = ['../../common', '../..', '../../libs']
+ obj.defines = 'VERSION=\\\"' + bld.env()['INGEN_VERSION'] + '\\\"'
+ obj.uselib = 'GTHREAD GLIBMM REDLANDMM RAUL SLV2 INGEN LIBLO'
+ obj.uselib_local = 'libingen_module libingen_shared'
+ obj.inst_var = 0
+
diff --git a/waf b/waf
new file mode 120000
index 00000000..9770e604
--- /dev/null
+++ b/waf
@@ -0,0 +1 @@
+../waf \ No newline at end of file
diff --git a/wscript b/wscript
new file mode 100644
index 00000000..0ec02d5f
--- /dev/null
+++ b/wscript
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+import os
+import Params
+
+# Variables for 'waf dist'
+VERSION = 'svn'
+APPNAME = 'ingen'
+
+# Mandatory variables
+srcdir = '.'
+blddir = 'build'
+
+def set_options(opt):
+ opt.tool_options('compiler_cxx')
+ opt.add_option('--data-dir', type='string', dest='datadir',
+ help="Ingen data install directory [Default: PREFIX/share/ingen]")
+ opt.add_option('--module-dir', type='string', dest='moduledir',
+ help="Ingen module install directory [Default: PREFIX/lib/ingen]")
+
+def configure(conf):
+ if not conf.env['CXX']:
+ conf.check_tool('compiler_cxx')
+ if not conf.env['HAVE_GLIBMM']:
+ conf.check_pkg('glibmm-2.4', destvar='GLIBMM', vnum='2.16.0', mandatory=True)
+ if not conf.env['HAVE_GTHREAD']:
+ conf.check_pkg('gthread-2.0', destvar='GTHREAD', vnum='2.16.0', mandatory=True)
+ if not conf.env['HAVE_JACK']:
+ conf.check_pkg('jack', destvar='JACK', vnum='0.107.0', mandatory=True)
+ if not conf.env['HAVE_SLV2']:
+ conf.check_pkg('slv2', destvar='SLV2', vnum='0.6.0', mandatory=True)
+ if not conf.env['HAVE_RAUL']:
+ conf.check_pkg('raul', destvar='RAUL', vnum='0.5.1', mandatory=True)
+ if not conf.env['HAVE_FLOWCANVAS']:
+ conf.check_pkg('flowcanvas', destvar='FLOWCANVAS', vnum='0.5.1', mandatory=True)
+ if not conf.env['HAVE_XML2']:
+ conf.check_pkg('libxml-2.0', destvar='XML2', vnum='2.6.0', mandatory=False)
+ if not conf.env['HAVE_GLADEMM']:
+ conf.check_pkg('libglademm-2.4', destvar='GLADEMM', vnum='2.6.0', mandatory=False)
+ if not conf.env['HAVE_SOUP']:
+ conf.check_pkg('libsoup-2.4', destvar='SOUP', vnum='2.4.0', mandatory=False)
+ if not conf.env['HAVE_LIBLO']:
+ conf.check_pkg('liblo', destvar='LIBLO', vnum='0.25', mandatory=False)
+ if not conf.env['HAVE_REDLANDMM']:
+ conf.check_pkg('redlandmm', destvar='REDLANDMM', vnum='0.0.0', mandatory=False)
+ conf.env['INGEN_VERSION'] = VERSION
+ conf.write_config_header('waf-config.h')
+ conf.env.append_value('CCFLAGS', '-DCONFIG_H_PATH=\\\"waf-config.h\\\"')
+ conf.env.append_value('CXXFLAGS', '-DCONFIG_H_PATH=\\\"waf-config.h\\\"')
+
+def build(bld):
+ bld.add_subdirs('src/libs/engine')
+ bld.add_subdirs('src/libs/serialisation')
+ bld.add_subdirs('src/libs/module')
+ bld.add_subdirs('src/libs/shared')
+ bld.add_subdirs('src/libs/client')
+ bld.add_subdirs('src/libs/gui')
+ bld.add_subdirs('src/progs/ingen')