fix mistaken "do not roll" conclusion in TransportFSM::compute_should_roll()
[ardour.git] / libs / appleutility / wscript
index 27dc1b9d26925ed644e380dd65dc1c5efd6995a7..63a1a1a4659b280bb66eebebdc1eb642527a84c5 100644 (file)
@@ -1,44 +1,61 @@
-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
\ No newline at end of file
+    pass