#!/usr/bin/python
from clam_build_helpers import *

module = 'audioio'
Import(module+'_env version install_dirs crosscompiling')
env=audioio_env
moduleDependencies = ['core','processing']

folders = [
	'src/audiofileio/processings',
	'src/audiofileio/codecs',
	'src/Processing/MIDIIO',
	'src/Processing/AudioIO',
	'src/Tools/MIDIIO',
	'src/Tools/MIDIIO/File',
	'src/Tools/MIDIIO/TextFile',
	'src/Tools/AudioIO',
	'src/Flow/Networks/BackEnds',
	'src/System/Application',
	]

blacklist = [
	'main.cxx', # TODO: Move main from midi file examples to examples if needed
	]

if not env.get('with_jack') :
	blacklist += ['JACKNetworkPlayer']

if not env.get('with_mad') :
	blacklist += ['Mpeg']
if not env.get('with_oggvorbis') :
	blacklist += ['Vorbis']

if not env.get('with_portaudio') :
	blacklist += ['PANetworkPlayer']

if env.get('with_portmidi') :
	folders.append( 'src/Tools/MIDIIO/PortMIDI' )

# TODO: Are we even using those platform dependant?
if crosscompiling or sys.platform == 'win32' :
	pass
elif sys.platform == 'linux2' :
	if env.get('with_alsa') :
		folders.append( 'src/Tools/MIDIIO/Linux' )
		folders.append( 'src/Tools/AudioIO/Linux')
else :
	if env['audio_backend'] == 'rtaudio' :
		print('using rtaudio2')
		folders += [
			'src/Tools/AudioIO/RtAudio'
			]
		env.Append( LINKFLAGS=['-framework','CoreAudio'] )
	elif env['audio_backend'] == 'portaudio' :
		print('using portaudio')

env.AppendUnique(LDFLAGS=["-Wl,--exclude-libs,ogg.lib"])

lib_tgt, install_tgt = lib_rules( module, version, folders, blacklist, install_dirs, env, moduleDependencies)
Return( 'lib_tgt', 'install_tgt' )

