#!/usr/bin/env python
from waflib.extras import autowaf as autowaf
import os

libappleutility_sources = [
        'CoreAudio/PublicUtility/AUOutputBL.cpp',
        'CoreAudio/PublicUtility/AUParamInfo.cpp',
        'CoreAudio/PublicUtility/CAAudioChannelLayout.cpp',
        'CoreAudio/PublicUtility/CAAudioChannelLayoutObject.cpp',
        'CoreAudio/PublicUtility/CAAudioUnit.cpp',
        'CoreAudio/PublicUtility/CAAUParameter.cpp',
        'CoreAudio/PublicUtility/CABufferList.cpp',
        'CoreAudio/PublicUtility/CACFDictionary.cpp',
        'CoreAudio/PublicUtility/CACFNumber.cpp',
        'CoreAudio/PublicUtility/CACFString.cpp',
        'CoreAudio/PublicUtility/CAComponent.cpp',
        'CoreAudio/PublicUtility/CAComponentDescription.cpp',
        'CoreAudio/PublicUtility/CADebugMacros.cpp',
        'CoreAudio/PublicUtility/CAStreamBasicDescription.cpp',
        'CoreAudio/PublicUtility/CAXException.cpp'
]

def options(opt):
    autowaf.set_options(opt)

def configure(conf):
    autowaf.configure(conf)

def build(bld):
    obj                = bld(features = 'cxx cxxshlib')
    obj.uselib         = 'AUDIOUNITS OSX'
    obj.source         = libappleutility_sources
    # apple did not write this library with full symbol export control
    # so we need to override any visibility default.
    autowaf.ensure_visible_symbols (obj, True)
    obj.export_includes = ['.']
    obj.includes       = ['.']
    obj.name           = 'libappleutility'
    obj.target         = 'appleutility'
    obj.install_path   = os.path.join(bld.env['LIBDIR'], 'appleutility')


def shutdown():
    autowaf.shutdown()

def i18n(bld):
    pass
