#!/usr/bin/env python import Params import autowaf def build(bld): core_source = ''' AudioBuffer.cpp Buffer.cpp ClientBroadcaster.cpp ConnectionImpl.cpp DuplexPort.cpp Engine.cpp EngineStore.cpp Event.cpp EventBuffer.cpp EventSink.cpp GraphObjectImpl.cpp InputPort.cpp InternalPlugin.cpp MessageContext.cpp MidiControlNode.cpp MidiNoteNode.cpp MidiTriggerNode.cpp NodeBase.cpp NodeFactory.cpp ObjectSender.cpp OutputPort.cpp PatchImpl.cpp PluginImpl.cpp PortImpl.cpp PostProcessor.cpp ProcessSlave.cpp QueuedEvent.cpp TransportNode.cpp ingen_engine.cpp events/SendPortActivityEvent.cpp events/SendPortValueEvent.cpp ''' obj = bld.create_obj('cpp', 'shlib') obj.source = core_source if bld.env()['HAVE_LADSPA'] == 1: obj.source += ' LADSPAPlugin.cpp LADSPANode.cpp ' if bld.env()['HAVE_SLV2'] == 1: obj.source += ' LV2Info.cpp LV2Plugin.cpp LV2Node.cpp ' obj.includes = ['.', '..', '../common', './events'] obj.name = 'libingen_engine' obj.target = 'ingen_engine' obj.inst_dir = bld.env()['LIBDIRNAME'] + 'ingen' obj.uselib_local = 'libingen_shared' core_libs = 'GLIBMM GTHREAD LV2CORE SLV2 RAUL REDLANDMM' autowaf.use_lib(bld, obj, core_libs) if bld.env()['HAVE_SOUP'] == 1 or bld.env()['HAVE_LIBLO'] == 1: obj = bld.create_obj('cpp', 'shlib') obj.source = ''' events/SetPortValueEvent.cpp QueuedEventSource.cpp QueuedEngineInterface.cpp events/AllNotesOffEvent.cpp events/ClearPatchEvent.cpp events/ConnectionEvent.cpp events/CreateNodeEvent.cpp events/CreatePatchEvent.cpp events/CreatePortEvent.cpp events/DeactivateEvent.cpp events/DestroyEvent.cpp events/DisconnectAllEvent.cpp events/DisconnectionEvent.cpp events/EnablePatchEvent.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/SetMetadataEvent.cpp events/SetPolyphonicEvent.cpp events/SetPolyphonyEvent.cpp events/UnregisterClientEvent.cpp ''' obj.includes = ['.', '..', '../common', './events', '../engine'] obj.name = 'libingen_engine_queued' obj.target = 'ingen_engine_queued' obj.inst_dir = bld.env()['LIBDIRNAME'] + 'ingen' autowaf.use_lib(bld, obj, core_libs) if bld.env()['HAVE_SOUP'] == 1: obj = bld.create_obj('cpp', 'shlib') obj.source = 'QueuedEventSource.cpp QueuedEngineInterface.cpp HTTPEngineReceiver.cpp' obj.includes = ['.', '..', '../common', './events', '../engine'] obj.name = 'libingen_engine_http' obj.target = 'ingen_engine_http' obj.inst_dir = bld.env()['LIBDIRNAME'] + 'ingen' autowaf.use_lib(bld, obj, core_libs + ' SOUP') if bld.env()['HAVE_LIBLO'] == 1: obj = bld.create_obj('cpp', 'shlib') obj.source = 'QueuedEventSource.cpp QueuedEngineInterface.cpp OSCClientSender.cpp OSCEngineReceiver.cpp' obj.includes = ['.', '..', '../common', './events', '../engine'] obj.name = 'libingen_engine_osc' obj.target = 'ingen_engine_osc' obj.inst_dir = bld.env()['LIBDIRNAME'] + 'ingen' autowaf.use_lib(bld, obj, core_libs + ' LIBLO') if bld.env()['HAVE_JACK'] == 1: obj = bld.create_obj('cpp', 'shlib') obj.source = 'JackAudioDriver.cpp JackMidiDriver.cpp' obj.includes = ['.', '..', '../common', './events', '../engine'] obj.name = 'libingen_engine_jack' obj.target = 'ingen_engine_jack' obj.inst_dir = bld.env()['LIBDIRNAME'] + 'ingen' autowaf.use_lib(bld, obj, core_libs + ' JACK') # Lightweight ingen/lv2 wrapper obj = bld.create_obj('cpp', 'shlib') obj.source = core_source if bld.env()['HAVE_LADSPA'] == 1: obj.source += ' LADSPAPlugin.cpp LADSPANode.cpp ' if bld.env()['HAVE_SLV2'] == 1: obj.source += ' LV2Plugin.cpp LV2Node.cpp ' obj.includes = ['.', '..', '../common', './events'] obj.name = 'ingen_lv2' obj.target = 'ingen.lv2/ingen_lv2' #obj.inst_dir = 'lib/lv2/ingen.lv2' obj.inst_var = 0 core_libs = 'GLIBMM GTHREAD LV2CORE SLV2 RAUL REDLANDMM' autowaf.use_lib(bld, obj, core_libs)