summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/client/wscript63
-rw-r--r--src/gui/wscript134
-rw-r--r--src/ingen/wscript18
-rw-r--r--src/serialisation/wscript31
-rw-r--r--src/server/wscript236
-rw-r--r--src/shared/wscript57
-rw-r--r--wscript282
7 files changed, 409 insertions, 412 deletions
diff --git a/src/client/wscript b/src/client/wscript
index bc771d2c..be1e64f1 100644
--- a/src/client/wscript
+++ b/src/client/wscript
@@ -2,39 +2,38 @@
from waflib.extras import autowaf as autowaf
def build(bld):
- # Headers
- bld.install_files('${INCLUDEDIR}/ingen/client', bld.path.ant_glob('*.hpp'))
+ # Headers
+ bld.install_files('${INCLUDEDIR}/ingen/client', bld.path.ant_glob('*.hpp'))
- obj = bld(features = 'cxx cxxshlib')
- obj.source = '''
- ClientStore.cpp
- NodeModel.cpp
- ObjectModel.cpp
- PatchModel.cpp
- PluginModel.cpp
- PluginUI.cpp
- PortModel.cpp
- ThreadedSigClientInterface.cpp
- ingen_client.cpp
- '''
+ obj = bld(features = 'cxx cxxshlib')
+ obj.source = '''
+ ClientStore.cpp
+ NodeModel.cpp
+ ObjectModel.cpp
+ PatchModel.cpp
+ PluginModel.cpp
+ PluginUI.cpp
+ PortModel.cpp
+ ThreadedSigClientInterface.cpp
+ ingen_client.cpp
+ '''
- if bld.is_defined('HAVE_SOUP'):
- obj.source += '''
- HTTPClientReceiver.cpp
- HTTPEngineSender.cpp
- '''
+ if bld.is_defined('HAVE_SOUP'):
+ obj.source += '''
+ HTTPClientReceiver.cpp
+ HTTPEngineSender.cpp
+ '''
- if bld.is_defined('HAVE_LIBLO'):
- obj.source += '''
- OSCClientReceiver.cpp
- OSCEngineSender.cpp
- '''
-
- obj.includes = ['.', '..', '../..', '../../include']
- obj.export_includes = ['.']
- obj.name = 'libingen_client'
- obj.target = 'ingen_client'
- obj.install_path = '${LIBDIR}'
- obj.use = 'libingen_shared'
- autowaf.use_lib(bld, obj, 'GLIBMM LV2CORE SLV2 SUIL RAUL SORD SOUP SIGCPP LIBLO SOUP')
+ if bld.is_defined('HAVE_LIBLO'):
+ obj.source += '''
+ OSCClientReceiver.cpp
+ OSCEngineSender.cpp
+ '''
+ obj.includes = ['.', '..', '../..', '../../include']
+ obj.export_includes = ['.']
+ obj.name = 'libingen_client'
+ obj.target = 'ingen_client'
+ obj.install_path = '${LIBDIR}'
+ obj.use = 'libingen_shared'
+ autowaf.use_lib(bld, obj, 'GLIBMM LV2CORE SLV2 SUIL RAUL SORD SOUP SIGCPP LIBLO SOUP')
diff --git a/src/gui/wscript b/src/gui/wscript
index 59682ade..cef45ccb 100644
--- a/src/gui/wscript
+++ b/src/gui/wscript
@@ -3,74 +3,74 @@ from waflib.extras import autowaf as autowaf
import waflib.Utils as Utils
def build(bld):
- # Headers
- bld.install_files('${INCLUDEDIR}/ingen/gui', bld.path.ant_glob('*.hpp'))
+ # Headers
+ bld.install_files('${INCLUDEDIR}/ingen/gui', bld.path.ant_glob('*.hpp'))
- obj = bld(features = 'cxx cxxshlib')
- obj.source = '''
- App.cpp
- BreadCrumbs.cpp
- Configuration.cpp
- ConnectWindow.cpp
- Connection.cpp
- ControlPanel.cpp
- Controls.cpp
- GladeFactory.cpp
- LoadPatchWindow.cpp
- LoadPluginWindow.cpp
- LoadRemotePatchWindow.cpp
- MessagesWindow.cpp
- NewSubpatchWindow.cpp
- NodeControlWindow.cpp
- NodeMenu.cpp
- NodeModule.cpp
- ObjectMenu.cpp
- PatchCanvas.cpp
- PatchPortModule.cpp
- PatchTreeWindow.cpp
- PatchView.cpp
- PatchWindow.cpp
- Port.cpp
- PortMenu.cpp
- PortPropertiesWindow.cpp
- PropertiesWindow.cpp
- RenameWindow.cpp
- SubpatchModule.cpp
- ThreadedLoader.cpp
- Window.cpp
- WindowFactory.cpp
- ingen_gui.cpp
- '''
+ obj = bld(features = 'cxx cxxshlib')
+ obj.source = '''
+ App.cpp
+ BreadCrumbs.cpp
+ Configuration.cpp
+ ConnectWindow.cpp
+ Connection.cpp
+ ControlPanel.cpp
+ Controls.cpp
+ GladeFactory.cpp
+ LoadPatchWindow.cpp
+ LoadPluginWindow.cpp
+ LoadRemotePatchWindow.cpp
+ MessagesWindow.cpp
+ NewSubpatchWindow.cpp
+ NodeControlWindow.cpp
+ NodeMenu.cpp
+ NodeModule.cpp
+ ObjectMenu.cpp
+ PatchCanvas.cpp
+ PatchPortModule.cpp
+ PatchTreeWindow.cpp
+ PatchView.cpp
+ PatchWindow.cpp
+ Port.cpp
+ PortMenu.cpp
+ PortPropertiesWindow.cpp
+ PropertiesWindow.cpp
+ RenameWindow.cpp
+ SubpatchModule.cpp
+ ThreadedLoader.cpp
+ Window.cpp
+ WindowFactory.cpp
+ ingen_gui.cpp
+ '''
- if bld.is_defined('HAVE_CURL'):
- obj.source += 'UploadPatchWindow.cpp'
+ if bld.is_defined('HAVE_CURL'):
+ obj.source += 'UploadPatchWindow.cpp'
- obj.export_includes = ['.']
- obj.includes = ['.', '..', '../..', '../../include', '../client', '../module']
- obj.name = 'libingen_gui'
- obj.target = 'ingen_gui'
- obj.install_path = '${LIBDIR}'
- obj.use = 'libingen_shared libingen_client libingen_serialisation'
- autowaf.use_lib(bld, obj, '''
- CURL
- FLOWCANVAS
- GLADEMM
- GLIBMM
- GNOMECANVASMM
- GTKMM
- RAUL
- SORD
- SIGCPP
- LV2CORE
- SLV2
- SOUP
- SUIL
- ''')
+ obj.export_includes = ['.']
+ obj.includes = ['.', '..', '../..', '../../include', '../client', '../module']
+ obj.name = 'libingen_gui'
+ obj.target = 'ingen_gui'
+ obj.install_path = '${LIBDIR}'
+ obj.use = 'libingen_shared libingen_client libingen_serialisation'
+ autowaf.use_lib(bld, obj, '''
+ CURL
+ FLOWCANVAS
+ GLADEMM
+ GLIBMM
+ GNOMECANVASMM
+ GTKMM
+ RAUL
+ SORD
+ SIGCPP
+ LV2CORE
+ SLV2
+ SOUP
+ SUIL
+ ''')
- # Glade XML UI definition
- bld(features = 'subst',
- source = 'ingen_gui.glade',
- target = '../../ingen_gui.glade',
- install_path = '${DATADIR}/ingen',
- chmod = Utils.O755,
- INGEN_VERSION = bld.env['INGEN_VERSION'])
+ # Glade XML UI definition
+ bld(features = 'subst',
+ source = 'ingen_gui.glade',
+ target = '../../ingen_gui.glade',
+ install_path = '${DATADIR}/ingen',
+ chmod = Utils.O755,
+ INGEN_VERSION = bld.env['INGEN_VERSION'])
diff --git a/src/ingen/wscript b/src/ingen/wscript
index d2ad1d6e..97750515 100644
--- a/src/ingen/wscript
+++ b/src/ingen/wscript
@@ -2,13 +2,13 @@
from waflib.extras import autowaf as autowaf
def build(bld):
- obj = bld(features = 'c cxx cxxprogram')
- obj.target = 'ingen'
- obj.source = 'main.cpp'
- obj.includes = ['..', '../..', '../../include']
- obj.defines = 'VERSION="' + bld.env['INGEN_VERSION'] + '"'
- obj.use = 'libingen_shared'
- obj.install_path = '${BINDIR}'
- autowaf.use_lib(bld, obj, 'GTHREAD GLIBMM SORD RAUL LV2CORE SLV2 INGEN LIBLO SOUP')
+ obj = bld(features = 'c cxx cxxprogram')
+ obj.target = 'ingen'
+ obj.source = 'main.cpp'
+ obj.includes = ['..', '../..', '../../include']
+ obj.defines = 'VERSION="' + bld.env['INGEN_VERSION'] + '"'
+ obj.use = 'libingen_shared'
+ obj.install_path = '${BINDIR}'
+ autowaf.use_lib(bld, obj, 'GTHREAD GLIBMM SORD RAUL LV2CORE SLV2 INGEN LIBLO SOUP')
- bld.install_files('${DATADIR}/applications', 'ingen.desktop')
+ bld.install_files('${DATADIR}/applications', 'ingen.desktop')
diff --git a/src/serialisation/wscript b/src/serialisation/wscript
index 3c72871d..7e9ddbf8 100644
--- a/src/serialisation/wscript
+++ b/src/serialisation/wscript
@@ -2,20 +2,19 @@
from waflib.extras import autowaf as autowaf
def build(bld):
- # Headers
- bld.install_files('${INCLUDEDIR}/ingen/serialisation', bld.path.ant_glob('*.hpp'))
-
- obj = bld(features = 'cxx cxxshlib')
- obj.source = '''
- Parser.cpp
- Serialiser.cpp
- serialisation.cpp
- '''
- obj.export_includes = ['.']
- obj.includes = ['.', '..', '../..', '../../include']
- obj.name = 'libingen_serialisation'
- obj.target = 'ingen_serialisation'
- obj.install_path = '${LIBDIR}'
- obj.use = 'libingen_shared'
- autowaf.use_lib(bld, obj, 'GLIBMM LV2CORE SLV2 RAUL SORD')
+ # Headers
+ bld.install_files('${INCLUDEDIR}/ingen/serialisation', bld.path.ant_glob('*.hpp'))
+ obj = bld(features = 'cxx cxxshlib')
+ obj.source = '''
+ Parser.cpp
+ Serialiser.cpp
+ serialisation.cpp
+ '''
+ obj.export_includes = ['.']
+ obj.includes = ['.', '..', '../..', '../../include']
+ obj.name = 'libingen_serialisation'
+ obj.target = 'ingen_serialisation'
+ obj.install_path = '${LIBDIR}'
+ obj.use = 'libingen_shared'
+ autowaf.use_lib(bld, obj, 'GLIBMM LV2CORE SLV2 RAUL SORD')
diff --git a/src/server/wscript b/src/server/wscript
index 708f38d2..b4d3be3b 100644
--- a/src/server/wscript
+++ b/src/server/wscript
@@ -2,127 +2,127 @@
from waflib.extras import autowaf as autowaf
def build(bld):
- # Headers
- bld.install_files('${INCLUDEDIR}/ingen/server', bld.path.ant_glob('*.hpp'))
+ # Headers
+ bld.install_files('${INCLUDEDIR}/ingen/server', bld.path.ant_glob('*.hpp'))
- core_source = '''
- AudioBuffer.cpp
- BufferFactory.cpp
- ClientBroadcaster.cpp
- ConnectionImpl.cpp
- ControlBindings.cpp
- DuplexPort.cpp
- Engine.cpp
- EngineStore.cpp
- Event.cpp
- EventBuffer.cpp
- EventSink.cpp
- EventSource.cpp
- GraphObjectImpl.cpp
- InputPort.cpp
- InternalPlugin.cpp
- MessageContext.cpp
- NodeFactory.cpp
- NodeImpl.cpp
- ObjectBuffer.cpp
- ObjectSender.cpp
- OutputPort.cpp
- PatchImpl.cpp
- PluginImpl.cpp
- PortImpl.cpp
- PostProcessor.cpp
- ProcessContext.cpp
- ProcessSlave.cpp
- QueuedEngineInterface.cpp
- QueuedEvent.cpp
- events/Connect.cpp
- events/CreateNode.cpp
- events/CreatePatch.cpp
- events/CreatePort.cpp
- events/Delete.cpp
- events/Disconnect.cpp
- events/DisconnectAll.cpp
- events/Get.cpp
- events/Move.cpp
- events/RegisterClient.cpp
- events/RequestMetadata.cpp
- events/SendBinding.cpp
- events/SendPortActivity.cpp
- events/SendPortValue.cpp
- events/SetMetadata.cpp
- events/SetPortValue.cpp
- events/UnregisterClient.cpp
- ingen_engine.cpp
- internals/Controller.cpp
- internals/Delay.cpp
- internals/Note.cpp
- internals/Trigger.cpp
- '''
-
- if bld.is_defined('HAVE_SLV2'):
- core_source += ' LV2Info.cpp LV2Plugin.cpp LV2Node.cpp '
+ core_source = '''
+ AudioBuffer.cpp
+ BufferFactory.cpp
+ ClientBroadcaster.cpp
+ ConnectionImpl.cpp
+ ControlBindings.cpp
+ DuplexPort.cpp
+ Engine.cpp
+ EngineStore.cpp
+ Event.cpp
+ EventBuffer.cpp
+ EventSink.cpp
+ EventSource.cpp
+ GraphObjectImpl.cpp
+ InputPort.cpp
+ InternalPlugin.cpp
+ MessageContext.cpp
+ NodeFactory.cpp
+ NodeImpl.cpp
+ ObjectBuffer.cpp
+ ObjectSender.cpp
+ OutputPort.cpp
+ PatchImpl.cpp
+ PluginImpl.cpp
+ PortImpl.cpp
+ PostProcessor.cpp
+ ProcessContext.cpp
+ ProcessSlave.cpp
+ QueuedEngineInterface.cpp
+ QueuedEvent.cpp
+ events/Connect.cpp
+ events/CreateNode.cpp
+ events/CreatePatch.cpp
+ events/CreatePort.cpp
+ events/Delete.cpp
+ events/Disconnect.cpp
+ events/DisconnectAll.cpp
+ events/Get.cpp
+ events/Move.cpp
+ events/RegisterClient.cpp
+ events/RequestMetadata.cpp
+ events/SendBinding.cpp
+ events/SendPortActivity.cpp
+ events/SendPortValue.cpp
+ events/SetMetadata.cpp
+ events/SetPortValue.cpp
+ events/UnregisterClient.cpp
+ ingen_engine.cpp
+ internals/Controller.cpp
+ internals/Delay.cpp
+ internals/Note.cpp
+ internals/Trigger.cpp
+ '''
- obj = bld(features = 'cxx cxxshlib')
- obj.source = core_source
- obj.export_includes = ['.']
- obj.includes = ['.', '..', '../..', '../../include']
- obj.name = 'libingen_server'
- obj.target = 'ingen_server'
- obj.install_path = '${LIBDIR}'
- obj.use = 'libingen_shared'
- core_libs = 'GLIBMM GTHREAD LV2CORE SLV2 RAUL SORD'
- autowaf.use_lib(bld, obj, core_libs)
+ if bld.is_defined('HAVE_SLV2'):
+ core_source += ' LV2Info.cpp LV2Plugin.cpp LV2Node.cpp '
- if bld.is_defined('HAVE_SOUP'):
- obj = bld(features = 'cxx cxxshlib')
- obj.source = '''
- EventSource.cpp
- QueuedEngineInterface.cpp
- HTTPClientSender.cpp
- HTTPEngineReceiver.cpp
- ingen_http.cpp
- '''
- obj.includes = ['.', '..', '../..', '../../include', '../server']
- obj.name = 'libingen_http'
- obj.target = 'ingen_http'
- obj.install_path = '${LIBDIR}'
- autowaf.use_lib(bld, obj, core_libs + ' SOUP')
+ obj = bld(features = 'cxx cxxshlib')
+ obj.source = core_source
+ obj.export_includes = ['.']
+ obj.includes = ['.', '..', '../..', '../../include']
+ obj.name = 'libingen_server'
+ obj.target = 'ingen_server'
+ obj.install_path = '${LIBDIR}'
+ obj.use = 'libingen_shared'
+ core_libs = 'GLIBMM GTHREAD LV2CORE SLV2 RAUL SORD'
+ autowaf.use_lib(bld, obj, core_libs)
- if bld.is_defined('HAVE_LIBLO'):
- obj = bld(features = 'cxx cxxshlib')
- obj.source = '''
- EventSource.cpp
- QueuedEngineInterface.cpp
- OSCClientSender.cpp
- OSCEngineReceiver.cpp
- ingen_osc.cpp
- '''
- obj.export_includes = ['.']
- obj.includes = ['.', '..', '../..', '../../include', '../server']
- obj.name = 'libingen_osc'
- obj.target = 'ingen_osc'
- obj.install_path = '${LIBDIR}'
- autowaf.use_lib(bld, obj, core_libs + ' LIBLO')
+ if bld.is_defined('HAVE_SOUP'):
+ obj = bld(features = 'cxx cxxshlib')
+ obj.source = '''
+ EventSource.cpp
+ QueuedEngineInterface.cpp
+ HTTPClientSender.cpp
+ HTTPEngineReceiver.cpp
+ ingen_http.cpp
+ '''
+ obj.includes = ['.', '..', '../..', '../../include', '../server']
+ obj.name = 'libingen_http'
+ obj.target = 'ingen_http'
+ obj.install_path = '${LIBDIR}'
+ autowaf.use_lib(bld, obj, core_libs + ' SOUP')
- if bld.is_defined('HAVE_JACK'):
- obj = bld(features = 'cxx cxxshlib')
- obj.source = 'JackDriver.cpp ingen_jack.cpp'
- obj.export_includes = ['.']
- obj.includes = ['.', '..', '../..', '../../include', '../server']
- obj.name = 'libingen_jack'
- obj.target = 'ingen_jack'
- obj.install_path = '${LIBDIR}'
- obj.use = 'libingen_server'
- autowaf.use_lib(bld, obj, core_libs + ' JACK')
+ if bld.is_defined('HAVE_LIBLO'):
+ obj = bld(features = 'cxx cxxshlib')
+ obj.source = '''
+ EventSource.cpp
+ QueuedEngineInterface.cpp
+ OSCClientSender.cpp
+ OSCEngineReceiver.cpp
+ ingen_osc.cpp
+ '''
+ obj.export_includes = ['.']
+ obj.includes = ['.', '..', '../..', '../../include', '../server']
+ obj.name = 'libingen_osc'
+ obj.target = 'ingen_osc'
+ obj.install_path = '${LIBDIR}'
+ autowaf.use_lib(bld, obj, core_libs + ' LIBLO')
- # Ingen LV2 wrapper
- obj = bld(features = 'cxx cxxshlib')
- obj.source = ' ingen_lv2.cpp '
- obj.export_includes = ['.']
- obj.includes = ['.', '..', '../..', '../../include']
- obj.name = 'libingen_lv2'
- obj.target = 'ingen_lv2'
- obj.install_path = '${LIBDIR}'
- obj.use = 'libingen_shared'
- obj.add_objects = 'libingen_server'
- autowaf.use_lib(bld, obj, core_libs)
+ if bld.is_defined('HAVE_JACK'):
+ obj = bld(features = 'cxx cxxshlib')
+ obj.source = 'JackDriver.cpp ingen_jack.cpp'
+ obj.export_includes = ['.']
+ obj.includes = ['.', '..', '../..', '../../include', '../server']
+ obj.name = 'libingen_jack'
+ obj.target = 'ingen_jack'
+ obj.install_path = '${LIBDIR}'
+ obj.use = 'libingen_server'
+ autowaf.use_lib(bld, obj, core_libs + ' JACK')
+
+ # Ingen LV2 wrapper
+ obj = bld(features = 'cxx cxxshlib')
+ obj.source = ' ingen_lv2.cpp '
+ obj.export_includes = ['.']
+ obj.includes = ['.', '..', '../..', '../../include']
+ obj.name = 'libingen_lv2'
+ obj.target = 'ingen_lv2'
+ obj.install_path = '${LIBDIR}'
+ obj.use = 'libingen_shared'
+ obj.add_objects = 'libingen_server'
+ autowaf.use_lib(bld, obj, core_libs)
diff --git a/src/shared/wscript b/src/shared/wscript
index 4f03cf28..763be120 100644
--- a/src/shared/wscript
+++ b/src/shared/wscript
@@ -2,33 +2,32 @@
from waflib.extras import autowaf as autowaf
def build(bld):
- # Headers
- bld.install_files('${INCLUDEDIR}/ingen/shared', bld.path.ant_glob('*.hpp'))
-
- obj = bld(features = 'cxx cxxshlib')
- obj.source = '''
- Builder.cpp
- ClashAvoider.cpp
- Configuration.cpp
- LV2Atom.cpp
- LV2Features.cpp
- LV2URIMap.cpp
- ResourceImpl.cpp
- Store.cpp
- World.cpp
- runtime_paths.cpp
- '''
- if bld.is_defined('HAVE_LIBLO'):
- obj.source += ' OSCSender.cpp '
- if bld.is_defined('HAVE_SOUP'):
- autowaf.use_lib(bld, obj, 'SOUP')
- obj.source += ' HTTPSender.cpp '
- obj.export_includes = ['.']
- obj.includes = ['.', '..', '../..', '../../include']
- obj.name = 'libingen_shared'
- obj.target = 'ingen_shared'
- obj.vnum = '0.0.0'
- obj.install_path = '${LIBDIR}'
- obj.linkflags = '-ldl'
- autowaf.use_lib(bld, obj, 'GLIBMM LV2CORE SLV2 RAUL SORD LIBLO')
+ # Headers
+ bld.install_files('${INCLUDEDIR}/ingen/shared', bld.path.ant_glob('*.hpp'))
+ obj = bld(features = 'cxx cxxshlib')
+ obj.source = '''
+ Builder.cpp
+ ClashAvoider.cpp
+ Configuration.cpp
+ LV2Atom.cpp
+ LV2Features.cpp
+ LV2URIMap.cpp
+ ResourceImpl.cpp
+ Store.cpp
+ World.cpp
+ runtime_paths.cpp
+ '''
+ if bld.is_defined('HAVE_LIBLO'):
+ obj.source += ' OSCSender.cpp '
+ if bld.is_defined('HAVE_SOUP'):
+ autowaf.use_lib(bld, obj, 'SOUP')
+ obj.source += ' HTTPSender.cpp '
+ obj.export_includes = ['.']
+ obj.includes = ['.', '..', '../..', '../../include']
+ obj.name = 'libingen_shared'
+ obj.target = 'ingen_shared'
+ obj.vnum = '0.0.0'
+ obj.install_path = '${LIBDIR}'
+ obj.linkflags = '-ldl'
+ autowaf.use_lib(bld, obj, 'GLIBMM LV2CORE SLV2 RAUL SORD LIBLO')
diff --git a/wscript b/wscript
index c617cd40..220fe496 100644
--- a/wscript
+++ b/wscript
@@ -16,148 +16,148 @@ top = '.'
out = 'build'
def options(opt):
- autowaf.set_options(opt)
- 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]")
- opt.add_option('--no-gui', action='store_true', default=False, dest='no_gui',
- help="Do not build GUI")
- opt.add_option('--no-jack-session', action='store_true', default=False,
- dest='no_jack_session',
- help="Do not build JACK session support")
- opt.add_option('--no-osc', action='store_true', default=False, dest='no_osc',
- help="Do not build OSC via liblo support, even if liblo exists")
- opt.add_option('--no-http', action='store_true', default=False, dest='no_http',
- help="Do not build HTTP via libsoup support, even if libsoup exists")
- opt.add_option('--log-debug', action='store_true', default=False, dest='log_debug',
- help="Print debugging output")
- opt.add_option('--liblo-bundles', action='store_true', default=False, dest='liblo_bundles',
- help="Use liblo bundle support (experimental, requires patched liblo)")
+ autowaf.set_options(opt)
+ 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]")
+ opt.add_option('--no-gui', action='store_true', default=False, dest='no_gui',
+ help="Do not build GUI")
+ opt.add_option('--no-jack-session', action='store_true', default=False,
+ dest='no_jack_session',
+ help="Do not build JACK session support")
+ opt.add_option('--no-osc', action='store_true', default=False, dest='no_osc',
+ help="Do not build OSC via liblo support, even if liblo exists")
+ opt.add_option('--no-http', action='store_true', default=False, dest='no_http',
+ help="Do not build HTTP via libsoup support, even if libsoup exists")
+ opt.add_option('--log-debug', action='store_true', default=False, dest='log_debug',
+ help="Print debugging output")
+ opt.add_option('--liblo-bundles', action='store_true', default=False, dest='liblo_bundles',
+ help="Use liblo bundle support (experimental, requires patched liblo)")
def configure(conf):
- conf.line_just = max(conf.line_just, 67)
- autowaf.configure(conf)
- autowaf.display_header('Ingen Configuration')
- conf.load('compiler_cxx')
- autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM',
- atleast_version='2.14.0', mandatory=True)
- autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD',
- atleast_version='2.14.0', mandatory=True)
- autowaf.check_pkg(conf, 'jack', uselib_store='JACK',
- atleast_version='0.109.0', mandatory=True)
- autowaf.check_pkg(conf, 'jack', uselib_store='NEW_JACK',
- atleast_version='0.120.0', mandatory=False)
- autowaf.check_pkg(conf, 'slv2', uselib_store='SLV2',
- atleast_version='0.7.0', mandatory=True)
- autowaf.check_pkg(conf, 'suil', uselib_store='SUIL',
- atleast_version='0.0.0', mandatory=False)
- autowaf.check_pkg(conf, 'raul', uselib_store='RAUL',
- atleast_version='0.8.0', mandatory=True)
- autowaf.check_pkg(conf, 'sord', uselib_store='SORD',
- atleast_version='0.1.0', mandatory=False)
- if not Options.options.no_gui:
- autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM',
- atleast_version='2.11.12', mandatory=False)
- autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='NEW_GTKMM',
- atleast_version='2.14.0', mandatory=False)
- autowaf.check_pkg(conf, 'libglademm-2.4', uselib_store='GLADEMM',
- atleast_version='2.6.0', mandatory=False)
- autowaf.check_pkg(conf, 'flowcanvas', uselib_store='FLOWCANVAS',
- atleast_version='0.8.0', mandatory=False)
- if not Options.options.no_http:
- autowaf.check_pkg(conf, 'libsoup-2.4', uselib_store='SOUP',
- atleast_version='2.4.0', mandatory=False)
- if not Options.options.no_osc:
- autowaf.check_pkg(conf, 'liblo', uselib_store='LIBLO',
- atleast_version='0.25', mandatory=False)
- if not Options.options.no_jack_session:
- if conf.is_defined('HAVE_NEW_JACK'):
- autowaf.define(conf, 'INGEN_JACK_SESSION', 1)
-
- # Check for posix_memalign (OSX, amazingly, doesn't have it)
- conf.check(function_name='posix_memalign',
- header_name='stdlib.h',
- define_name='HAVE_POSIX_MEMALIGN',
- mandatory=False)
-
- autowaf.check_header(conf, 'lv2/lv2plug.in/ns/lv2core/lv2.h')
- autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/atom/atom.h')
- autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/contexts/contexts.h')
- autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/event/event-helpers.h')
- autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/event/event.h')
- autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/resize-port/resize-port.h')
- autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/uri-map/uri-map.h')
- autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/uri-unmap/uri-unmap.h')
-
- autowaf.define(conf, 'INGEN_VERSION', INGEN_VERSION)
-
- if (not Options.options.no_gui
- and conf.is_defined('HAVE_GLADEMM')
- and conf.is_defined('HAVE_FLOWCANVAS')):
- autowaf.define(conf, 'INGEN_BUILD_GUI', 1)
-
- if conf.is_defined('HAVE_JACK'):
- autowaf.define(conf, 'HAVE_JACK_MIDI', 1)
-
- autowaf.define(conf, 'INGEN_DATA_DIR', os.path.join(conf.env['DATADIR'], 'ingen'))
- autowaf.define(conf, 'INGEN_MODULE_DIR', conf.env['LIBDIR'])
-
- if Options.options.log_debug:
- autowaf.define(conf, 'RAUL_LOG_DEBUG', 1)
-
- if Options.options.liblo_bundles:
- autowaf.define(conf, 'LIBLO_BUNDLES', 1)
-
- conf.write_config_header('ingen-config.h', remove=False)
-
- autowaf.display_msg(conf, "Jack", conf.is_defined('HAVE_JACK'))
- autowaf.display_msg(conf, "Jack session support",
- conf.is_defined('INGEN_JACK_SESSION'))
- autowaf.display_msg(conf, "OSC", conf.is_defined('HAVE_LIBLO'))
- autowaf.display_msg(conf, "HTTP", conf.is_defined('HAVE_SOUP'))
- autowaf.display_msg(conf, "LV2", conf.is_defined('HAVE_SLV2'))
- autowaf.display_msg(conf, "GUI", str(conf.env['INGEN_BUILD_GUI'] == 1))
- print('')
+ conf.line_just = max(conf.line_just, 67)
+ autowaf.configure(conf)
+ autowaf.display_header('Ingen Configuration')
+ conf.load('compiler_cxx')
+ autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM',
+ atleast_version='2.14.0', mandatory=True)
+ autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD',
+ atleast_version='2.14.0', mandatory=True)
+ autowaf.check_pkg(conf, 'jack', uselib_store='JACK',
+ atleast_version='0.109.0', mandatory=True)
+ autowaf.check_pkg(conf, 'jack', uselib_store='NEW_JACK',
+ atleast_version='0.120.0', mandatory=False)
+ autowaf.check_pkg(conf, 'slv2', uselib_store='SLV2',
+ atleast_version='0.7.0', mandatory=True)
+ autowaf.check_pkg(conf, 'suil', uselib_store='SUIL',
+ atleast_version='0.0.0', mandatory=False)
+ autowaf.check_pkg(conf, 'raul', uselib_store='RAUL',
+ atleast_version='0.8.0', mandatory=True)
+ autowaf.check_pkg(conf, 'sord', uselib_store='SORD',
+ atleast_version='0.1.0', mandatory=False)
+ if not Options.options.no_gui:
+ autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM',
+ atleast_version='2.11.12', mandatory=False)
+ autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='NEW_GTKMM',
+ atleast_version='2.14.0', mandatory=False)
+ autowaf.check_pkg(conf, 'libglademm-2.4', uselib_store='GLADEMM',
+ atleast_version='2.6.0', mandatory=False)
+ autowaf.check_pkg(conf, 'flowcanvas', uselib_store='FLOWCANVAS',
+ atleast_version='0.8.0', mandatory=False)
+ if not Options.options.no_http:
+ autowaf.check_pkg(conf, 'libsoup-2.4', uselib_store='SOUP',
+ atleast_version='2.4.0', mandatory=False)
+ if not Options.options.no_osc:
+ autowaf.check_pkg(conf, 'liblo', uselib_store='LIBLO',
+ atleast_version='0.25', mandatory=False)
+ if not Options.options.no_jack_session:
+ if conf.is_defined('HAVE_NEW_JACK'):
+ autowaf.define(conf, 'INGEN_JACK_SESSION', 1)
+
+ # Check for posix_memalign (OSX, amazingly, doesn't have it)
+ conf.check(function_name='posix_memalign',
+ header_name='stdlib.h',
+ define_name='HAVE_POSIX_MEMALIGN',
+ mandatory=False)
+
+ autowaf.check_header(conf, 'lv2/lv2plug.in/ns/lv2core/lv2.h')
+ autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/atom/atom.h')
+ autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/contexts/contexts.h')
+ autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/event/event-helpers.h')
+ autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/event/event.h')
+ autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/resize-port/resize-port.h')
+ autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/uri-map/uri-map.h')
+ autowaf.check_header(conf, 'lv2/lv2plug.in/ns/ext/uri-unmap/uri-unmap.h')
+
+ autowaf.define(conf, 'INGEN_VERSION', INGEN_VERSION)
+
+ if (not Options.options.no_gui
+ and conf.is_defined('HAVE_GLADEMM')
+ and conf.is_defined('HAVE_FLOWCANVAS')):
+ autowaf.define(conf, 'INGEN_BUILD_GUI', 1)
+
+ if conf.is_defined('HAVE_JACK'):
+ autowaf.define(conf, 'HAVE_JACK_MIDI', 1)
+
+ autowaf.define(conf, 'INGEN_DATA_DIR', os.path.join(conf.env['DATADIR'], 'ingen'))
+ autowaf.define(conf, 'INGEN_MODULE_DIR', conf.env['LIBDIR'])
+
+ if Options.options.log_debug:
+ autowaf.define(conf, 'RAUL_LOG_DEBUG', 1)
+
+ if Options.options.liblo_bundles:
+ autowaf.define(conf, 'LIBLO_BUNDLES', 1)
+
+ conf.write_config_header('ingen-config.h', remove=False)
+
+ autowaf.display_msg(conf, "Jack", conf.is_defined('HAVE_JACK'))
+ autowaf.display_msg(conf, "Jack session support",
+ conf.is_defined('INGEN_JACK_SESSION'))
+ autowaf.display_msg(conf, "OSC", conf.is_defined('HAVE_LIBLO'))
+ autowaf.display_msg(conf, "HTTP", conf.is_defined('HAVE_SOUP'))
+ autowaf.display_msg(conf, "LV2", conf.is_defined('HAVE_SLV2'))
+ autowaf.display_msg(conf, "GUI", str(conf.env['INGEN_BUILD_GUI'] == 1))
+ print('')
def build(bld):
- opts = Options.options
- opts.datadir = opts.datadir or bld.env['PREFIX'] + 'share'
- opts.moduledir = opts.moduledir or bld.env['PREFIX'] + 'lib/ingen'
-
- # Headers
- bld.install_files('${INCLUDEDIR}/ingen',
- bld.path.ant_glob('include/ingen/*.hpp'))
-
- # Modules
- bld.recurse('src/client')
- bld.recurse('src/serialisation')
- bld.recurse('src/server')
- bld.recurse('src/shared')
-
- if bld.is_defined('INGEN_BUILD_GUI'):
- bld.recurse('src/gui')
-
- # Program
- obj = bld(features = 'c cxx cxxprogram')
- obj.target = 'ingen'
- obj.source = 'src/ingen/main.cpp'
- obj.includes = ['.', 'src', 'include']
- obj.defines = 'VERSION="' + bld.env['INGEN_VERSION'] + '"'
- obj.use = 'libingen_shared'
- obj.install_path = '${BINDIR}'
- autowaf.use_lib(bld, obj, 'GTHREAD GLIBMM SORD RAUL LV2CORE SLV2 INGEN LIBLO SOUP')
-
- bld.install_files('${DATADIR}/applications', 'src/ingen/ingen.desktop')
-
- # Documentation
- autowaf.build_dox(bld, 'INGEN', INGEN_VERSION, top, out)
-
- # Icons
- icon_sizes = ['16x16', '22x22', '24x24', '32x32', '48x48']
- for s in icon_sizes:
- bld.install_as(
- os.path.join(bld.env['DATADIR'], 'icons', 'hicolor', s, 'apps', 'ingen.png'),
- 'icons/' + s + '/ingen.png')
-
- bld.add_post_fun(autowaf.run_ldconfig)
+ opts = Options.options
+ opts.datadir = opts.datadir or bld.env['PREFIX'] + 'share'
+ opts.moduledir = opts.moduledir or bld.env['PREFIX'] + 'lib/ingen'
+
+ # Headers
+ bld.install_files('${INCLUDEDIR}/ingen',
+ bld.path.ant_glob('include/ingen/*.hpp'))
+
+ # Modules
+ bld.recurse('src/client')
+ bld.recurse('src/serialisation')
+ bld.recurse('src/server')
+ bld.recurse('src/shared')
+
+ if bld.is_defined('INGEN_BUILD_GUI'):
+ bld.recurse('src/gui')
+
+ # Program
+ obj = bld(features = 'c cxx cxxprogram')
+ obj.target = 'ingen'
+ obj.source = 'src/ingen/main.cpp'
+ obj.includes = ['.', 'src', 'include']
+ obj.defines = 'VERSION="' + bld.env['INGEN_VERSION'] + '"'
+ obj.use = 'libingen_shared'
+ obj.install_path = '${BINDIR}'
+ autowaf.use_lib(bld, obj, 'GTHREAD GLIBMM SORD RAUL LV2CORE SLV2 INGEN LIBLO SOUP')
+
+ bld.install_files('${DATADIR}/applications', 'src/ingen/ingen.desktop')
+
+ # Documentation
+ autowaf.build_dox(bld, 'INGEN', INGEN_VERSION, top, out)
+
+ # Icons
+ icon_sizes = ['16x16', '22x22', '24x24', '32x32', '48x48']
+ for s in icon_sizes:
+ bld.install_as(
+ os.path.join(bld.env['DATADIR'], 'icons', 'hicolor', s, 'apps', 'ingen.png'),
+ 'icons/' + s + '/ingen.png')
+
+ bld.add_post_fun(autowaf.run_ldconfig)