diff options
-rw-r--r-- | src/client/wscript | 63 | ||||
-rw-r--r-- | src/gui/wscript | 134 | ||||
-rw-r--r-- | src/ingen/wscript | 18 | ||||
-rw-r--r-- | src/serialisation/wscript | 31 | ||||
-rw-r--r-- | src/server/wscript | 236 | ||||
-rw-r--r-- | src/shared/wscript | 57 | ||||
-rw-r--r-- | wscript | 282 |
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') @@ -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) |