summaryrefslogtreecommitdiff
path: root/libs/appleutility/wscript
blob: 63a1a1a4659b280bb66eebebdc1eb642527a84c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/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):
    autowaf.set_options(opt)

def configure(conf):
    autowaf.configure(conf)
    if conf.env['build_target'] in ['panther', 'tiger', 'leopard'] or (Options.options.ppc and conf.env['build_target'] == 'snowleopard'):
        conf.env.append_value ('CFLAGS', '-DCOREAUDIO105')
        conf.env.append_value ('CXXFLAGS', '-DCOREAUDIO105')
        conf.define ('COREAUDIO105', 1)

def build(bld):
    obj                = bld(features = 'cxx cxxshlib')
    obj.uselib         = 'AUDIOUNITS OSX'
    obj.source         = '';
    if bld.is_defined('COREAUDIO105'):
        obj.export_includes = ['CoreAudio105']
        obj.source += ' CoreAudio105/CAAudioFile.cpp';
        for src in libappleutility_sources:
            obj.source += ' CoreAudio105/' + src;
    else:
        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')


def shutdown():
    autowaf.shutdown()

def i18n(bld):
    pass