alternative new version of the AppleUtility library
[ardour.git] / libs / appleutility / wscript
1 #!/usr/bin/env python
2 from waflib.extras import autowaf as autowaf
3 from waflib import Options
4 import os
5
6 libappleutility_sources = [
7         'AUOutputBL.cpp',
8         'AUParamInfo.cpp',
9         'CAAudioChannelLayout.cpp',
10         'CAAudioChannelLayoutObject.cpp',
11         'CAAudioUnit.cpp',
12         'CAAUParameter.cpp',
13         'CABufferList.cpp',
14         'CACFDictionary.cpp',
15         'CACFNumber.cpp',
16         'CACFString.cpp',
17         'CAComponent.cpp',
18         'CAComponentDescription.cpp',
19         'CADebugMacros.cpp',
20         'CAStreamBasicDescription.cpp',
21         'CAXException.cpp'
22 ]
23
24 def options(opt):
25     autowaf.set_options(opt)
26
27 def configure(conf):
28     autowaf.configure(conf)
29     if not conf.env['build_target'] in ['panther', 'tiger', 'leopard']:
30         if not (Options.options.ppc and conf.env['build_target'] == 'snowleopard'):
31             conf.env.append_value ('CFLAGS', '-DCOREAUDIO105')
32             conf.env.append_value ('CXXFLAGS', '-DCOREAUDIO105')
33             conf.define ('COREAUDIO105', 1)
34
35 def build(bld):
36     obj                = bld(features = 'cxx cxxshlib')
37     obj.uselib         = 'AUDIOUNITS OSX'
38     obj.source         = '';
39     if bld.is_defined('COREAUDIO105'):
40         obj.export_includes = ['CoreAudio105']
41         obj.source += ' CoreAudio105/CAAudioFile.cpp';
42         for src in libappleutility_sources:
43             obj.source += ' CoreAudio105/' + src;
44     else:
45         obj.export_includes = ['CoreAudio/PublicUtility']
46         for src in libappleutility_sources:
47             obj.source += ' CoreAudio/PublicUtility/' + src;
48
49     # apple did not write this library with full symbol export control
50     # so we need to override any visibility default.
51     autowaf.ensure_visible_symbols (obj, True)
52     obj.includes       = ['.']
53     obj.name           = 'libappleutility'
54     obj.target         = 'appleutility'
55     obj.install_path   = os.path.join(bld.env['LIBDIR'], 'appleutility')
56
57
58 def shutdown():
59     autowaf.shutdown()
60
61 def i18n(bld):
62     pass