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

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

def options(opt):
    pass

def configure(conf):
    pass

def build(bld):
    obj                = bld(features = 'cxx cxxshlib')
    obj.uselib         = 'AUDIOUNITS OSX'
    obj.source         = ''
    obj.export_includes = ['CoreAudio/PublicUtility']
    for src in libappleutility_sources:
        obj.source += ' CoreAudio/PublicUtility/' + src

    # 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.includes       = ['.']
    obj.name           = 'libappleutility'
    obj.target         = 'appleutility'
    obj.install_path   = os.path.join(bld.env['LIBDIR'], 'appleutility')
