import os
import glob

Import('env install_prefix final_prefix libraries')

ksiardour = env.Copy()

domain = 'ksiardour'

ksiardour.Append(DOMAIN = domain, MAJOR=0,MINOR=4,MICRO=1)
ksiardour.Append(CXXFLAGS='-DPACKAGE=\\\"' + domain + '\\\"')
ksiardour.Append (LIBS = [ 'pthread', 'panel', 'ncurses' ])

ksiardour.Merge ([ libraries['core'],
                   libraries['glib'],
                   libraries['xml'],
                   libraries['sigc'],
                   libraries['lrdf'],
                   libraries['soundtouch'],
                   libraries['raptor'],
                   libraries['sndfile'],
                   libraries['samplerate'],
                   libraries['jack'],
                   libraries['ardour'],
                   libraries['midi++'],
                   libraries['pbd'],
                   libraries['sysmidi']
                   ])

if ksiardour['VST']:
    ksiardour.Merge ([ libraries['fst']])

ksiardour_files = ['ksi.cc', 'main.cc', 'opts.cc', 'version.cc']
remotekbd_files = ['remote_kbd.cc']


ksiardour.Append(CCFLAGS="-D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE")
ksiardour.Append(CXXFLAGS="-DDATA_DIR=\\\""+final_prefix+"share\\\"")
ksiardour.Append(CXXFLAGS="-DLOCALEDIR=\\\""+final_prefix+"share/locale\\\"")
ksiardour.Append(CXXFLAGS="-DVERSIONSTRING=\\\"0.9beta25\\\"")

remotekbd = env.Copy ()
remotekbd.Merge ([ libraries['sigc'], libraries['pbd'] ])
remotekbd.Append (LIBS = [ 'pthread', 'ncurses' ])

ksiardour_files += ksiardour.Object('pk-ksiardour', 'physical_keyboard.cc')
remotekbd_files += ksiardour.Object('pk-remotekbd', 'physical_keyboard.cc')

ksi_ardour = ksiardour.Program('ksi.bin',  ksiardour_files)
remotekbd = remotekbd.Program('remote_kbd', remotekbd_files)

Default(ksi_ardour,remotekbd)

# version file
ksiardour.VersionBuild(['version.cc','version.h'], 'SConscript')

#install

bindir = os.path.join(install_prefix, 'bin')

env.InstallAs(bindir + '/ksi', ksi_ardour)
env.Install(bindir, remotekbd)

env.Alias('install', bindir)

#dist
env.Alias('tarball', env.Distribute (env['DISTTREE'], [ 'SConscript' ] + glob.glob('*.cc') + glob.glob('*.h')))
