#!/usr/bin/python
# SConstruct file for CLAM vmfl
from buildtools import *
from buildtools.file_retriever import FileRetriever
from buildtools.rulesets import *

import os, sys

Import('vmfl_env version top install_dirs')

def define_module_contents(env) :
	if not os.path.exists('src') :
		os.mkdir('src')
	if not os.path.exists('include' ) :
		os.makedirs('include/CLAM')

	folders = [
		'src/Visualization/GL',
		'src/Visualization/Plot',
		'src/Visualization/Presentation/Base',
		'src/Visualization/Presentation/FLTK',
		'src/Visualization/Widget/FLTKWrapper.*xx',
		'src/Visualization/Widget/FLTK',
		'GUIAudioApplication.*xx',
		'src/Visualization/Base/WidgetTKWrapper.*xx',
		'src/Visualization/Util/FileChooser.*xx',
		'src/Visualization/Util/MessageBox.*xx',
		'src/Visualization/View/FLTKConfigurator.*xx',
		'src/Visualization/Base/SupportedToolkits.*xx',
		]

	blacklist = [
		'GLLogPowSpRenderer',
		'GLLogSpRenderer',
		'ProcessingController',
		'Fl_Range',
		'FDFilterController',
		'TokenDelayController',
		'HugeArrayRenderer',
		]

	file_retriever = FileRetriever( top+'/..', folders, blacklist )

	file_retriever.scan_without_copy()

	realHeaders = []
	for orig,target in file_retriever.origTargetHeaders :
		env.CopyFileAndUpdateIncludes(target, orig)
		realHeaders.append(target)


	realSources = []
	for orig,target in file_retriever.origTargetSources:
		env.CopyFileAndUpdateIncludes(target,orig)
		realSources.append(target)

	return realHeaders, realSources

realHeaders, realSources = define_module_contents(vmfl_env)

moduleDependencies = ['core', 'processing', 'audioio']

lib_tgt, install_tgt = lib_rules( 'vmfl', version, realHeaders, realSources, install_dirs, vmfl_env, moduleDependencies )

Return( 'lib_tgt', 'install_tgt' )
