# -*- mode: python; -*-
###############################################################
# SConscript for fluxa
#
# Fluxus's synth and sampler server

Import("env", "BinInstall")

Target       = "fluxa"
Install      = BinInstall
Libs = Split("m sndfile jack lo")
Frameworks = []

Source = Split("src/Sample.cpp \
				src/SearchPaths.cpp \
				src/AsyncSampleLoader.cpp \
				src/Allocator.cpp \
				src/CommandRingBuffer.cpp \
				src/Event.cpp \
				src/EventQueue.cpp \
				src/JackClient.cpp \
				src/OSCServer.cpp \
				src/RingBuffer.cpp \
				src/Time.cpp \
				src/Modules.cpp \
				src/Fluxa.cpp \
				src/Sampler.cpp	\
				src/SampleStore.cpp \
				src/GraphNode.cpp \
				src/ModuleNodes.cpp \
				src/Graph.cpp \
				src/main.cpp")					

if env['PLATFORM'] == 'darwin':
	Frameworks = Split("GLUT OpenGL CoreAudio")

# link libraries statically when making an os x app
if env['PLATFORM'] == 'darwin' and GetOption('app'):
	from macos.osxbundle import *
	TOOL_BUNDLE(env)
	Frameworks += ["Jackmp"]

	for l in ['sndfile']:
		if l in Libs:
			Libs.remove(l)
		Libs.append(File('/opt/local/lib/lib%s.a' % l))
	Libs.remove('jack')

env.Program(source = Source, target = Target, LIBS = Libs, FRAMEWORKS = Frameworks)
env.Install(Install, Target)
env.Alias('install', Install)

