#!/usr/bin/env python
import waflib.Utils as Utils
import os
import sys

def options(opt):
    pass

def configure(conf):
    conf.check_cc(
            header_name='stdio.h readline/readline.h',
            lib='readline',
            uselib_store='READLINE',
            define_name='HAVE_READLINE',
            mandatory=False)

def build(bld):
    if not bld.is_defined('HAVE_READLINE'):
        return

    # commandline luasession wrapper script
    if bld.env['build_target'] != 'mingw':
        obj              = bld(features = 'subst')
        obj.source       = 'ardour-lua.sh.in'
        obj.target       = 'ardour' + bld.env['MAJOR'] + '-lua'
        obj.chmod        = Utils.O755
        obj.install_path = bld.env['BINDIR']
        obj.LIBDIR       = os.path.normpath(bld.env['DLLDIR'])
        obj.DATADIR      = os.path.normpath(bld.env['DATADIR'])
        obj.CONFDIR      = os.path.normpath(bld.env['CONFDIR'])

    # commandline luasession
    obj = bld (features = 'cxx c cxxprogram')
    obj.source       = 'luasession.cc'
    obj.target       = 'luasession'
    obj.includes     = ['../libs']
    obj.use          = ['liblua',
                        'libpbd',
                        'libardour',
                        'libardour_cp',
                        'libtemporal',
                        'libmidipp',
                     ]
    obj.defines = [
        'VERSIONSTRING="' + bld.env['VERSION'] + '"',
        'DATA_DIR="'   + os.path.normpath(bld.env['DATADIR']) + '"',
        'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
        'LOCALEDIR="'  + os.path.join(os.path.normpath(bld.env['DATADIR']), 'locale') + '"',
        'PACKAGE="'    + "ARDOURUTILS" + '"',
        ]

    obj.uselib       = 'UUID FLAC FONTCONFIG GLIBMM GIOMM GTHREAD OGG CURL DL XML'
    obj.uselib       += ' AUDIOUNITS OSX LO '
    obj.uselib       += ' READLINE '
    obj.uselib       += ' FFTW3F LO TAGLIB LILV RUBBERBAND AUBIO LRDF ARCHIVE VAMPSDK VAMPHOSTSDK'

    if bld.is_defined('HAVE_SUIL'):
        if bld.is_defined('YTK'):
            obj.use += [ 'libsuil' ]
        else:
            obj.uselib += ' SUIL'

    if bld.is_defined('HAVE_USB'):
        obj.uselib += ' USB'

    if sys.platform == 'darwin':
        obj.uselib += ' AUDIOUNITS OSX'
        obj.use    += ' libappleutility'

    if bld.env['build_target'] == 'mingw':
        obj.linkflags = ['-mwindows']

    if bld.is_defined('NEED_INTL'):
        obj.linkflags = ' -lintl'

    if bld.env['build_target'] == 'mingw':
        obj.install_path = bld.env['BINDIR']
        obj.target       = 'ardour' + bld.env['MAJOR'] + '-lua'
    else:
        obj.install_path = bld.env['DLLDIR']
