#!/usr/bin/env python
import Params
import autowaf

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
		GraphObjectImpl.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
		ObjectSender.cpp
		OutputPort.cpp
		PatchImpl.cpp
		PluginImpl.cpp
		PortImpl.cpp
		PostProcessor.cpp
		ProcessSlave.cpp
		QueuedEngineInterface.cpp
		QueuedEvent.cpp
		QueuedEventSource.cpp
		TransportNode.cpp
		ingen_engine.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/SendPortActivityEvent.cpp
		events/SendPortValueEvent.cpp
		events/SetMetadataEvent.cpp
		events/SetPolyphonicEvent.cpp
		events/SetPolyphonyEvent.cpp
		events/SetPortValueEvent.cpp
		events/UnregisterClientEvent.cpp
	'''
	if bld.env()['HAVE_LADSPA']:
		obj.source += ' LADSPANode.cpp '
	if bld.env()['HAVE_SLV2']:
		obj.source += ' LV2Node.cpp '
	if bld.env()['HAVE_SOUP']:
		obj.source += ' HTTPEngineReceiver.cpp '
	if bld.env()['HAVE_LIBLO']:
		obj.source += ' OSCEngineReceiver.cpp OSCClientSender.cpp '
	obj.includes     = ['..', '../common', './events']
	obj.name         = 'libingen_engine'
	obj.target       = 'ingen_engine'
	obj.inst_dir     = 'lib/ingen'
	autowaf.use_lib(bld, obj, 'GLIBMM GTHREAD LV2CORE SLV2 JACK LIBLO RAUL REDLANDMM SOUP')