-import autowaf
+#!/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',
- 'CAAudioFile.cpp',
- 'CAAudioUnit.cpp',
- 'CAAUParameter.cpp',
- 'CABufferList.cpp',
- 'CACFDictionary.cpp',
- 'CACFNumber.cpp',
- 'CACFString.cpp',
- 'CAComponent.cpp',
- 'CAComponentDescription.cpp',
- 'CADebugMacros.cpp',
- 'CAStreamBasicDescription.cpp',
- 'CAXException.cpp'
+ '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 set_options(opt):
- autowaf.set_options(opt)
-
+def options(opt):
+ autowaf.set_options(opt)
+
def configure(conf):
- autowaf.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.new_task_gen('cxx', 'shlib',
- uselib = 'COREAUDIO CORESERVICES COREFOUNDATION AUDIOTOOLBOX AUDIOUNITS OSX GTKOSX')
- obj.source = libappleutility_sources
- obj.export_incdirs = ['.']
- obj.includes = ['.']
- obj.name = 'libappleutility'
- obj.target = 'appleutility'
- obj.install_path = os.path.join(bld.env['LIBDIR'], 'appleutility')
+ 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()
+ autowaf.shutdown()
def i18n(bld):
- pass
+ pass