#!/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 LADSPAPlugin.cpp LV2Info.cpp LV2Plugin.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']: obj.source += ' LADSPANode.cpp ' if bld.env()['HAVE_SLV2']: obj.source += ' LV2Node.cpp ' obj.includes = ['.', '..', '../common', './events'] obj.name = 'libingen_engine' obj.target = 'ingen_engine' obj.inst_dir = 'lib/ingen' core_libs = 'GLIBMM GTHREAD LV2CORE SLV2 RAUL REDLANDMM' autowaf.use_lib(bld, obj, core_libs) if bld.env()['HAVE_SOUP'] or bld.env()['HAVE_LIBLO']: 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 = 'lib/ingen' autowaf.use_lib(bld, obj, core_libs) if bld.env()['HAVE_SOUP']: 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 = 'lib/ingen' autowaf.use_lib(bld, obj, core_libs + ' SOUP') if bld.env()['HAVE_LIBLO']: 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 = 'lib/ingen' autowaf.use_lib(bld, obj, core_libs + ' LIBLO') if bld.env()['HAVE_JACK']: 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 = 'lib/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']: obj.source += ' LADSPANode.cpp ' if bld.env()['HAVE_SLV2']: obj.source += ' LV2Node.cpp ' obj.includes = ['.', '..', '../common', './events'] obj.name = 'ingen_lv2' obj.target = 'ingen.lv2/ingen_lv2' obj.inst_dir = 'lib/lv2/ingen.lv2' core_libs = 'GLIBMM GTHREAD LV2CORE SLV2 RAUL REDLANDMM' autowaf.use_lib(bld, obj, core_libs)