summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/backends/coreaudio/coreaudio_backend.cc5
-rw-r--r--libs/backends/coreaudio/wscript10
-rw-r--r--wscript21
3 files changed, 30 insertions, 6 deletions
diff --git a/libs/backends/coreaudio/coreaudio_backend.cc b/libs/backends/coreaudio/coreaudio_backend.cc
index f4add45ac9..fd03ddea50 100644
--- a/libs/backends/coreaudio/coreaudio_backend.cc
+++ b/libs/backends/coreaudio/coreaudio_backend.cc
@@ -95,8 +95,7 @@ CoreAudioBackend::~CoreAudioBackend ()
std::string
CoreAudioBackend::name () const
{
- // XXX avoid name -conflict w/waves
- return X_("CoreAudio2");
+ return X_("CoreAudio");
}
bool
@@ -1514,7 +1513,7 @@ static bool already_configured ();
static bool available ();
static ARDOUR::AudioBackendInfo _descriptor = {
- "CoreAudio2",
+ "CoreAudio",
instantiate,
deinstantiate,
backend_factory,
diff --git a/libs/backends/coreaudio/wscript b/libs/backends/coreaudio/wscript
index 99d9e66f69..a4f9ee69f3 100644
--- a/libs/backends/coreaudio/wscript
+++ b/libs/backends/coreaudio/wscript
@@ -1,5 +1,6 @@
#!/usr/bin/env python
from waflib.extras import autowaf as autowaf
+from waflib import Options
import os
import sys
import re
@@ -15,6 +16,8 @@ def options(opt):
def configure(conf):
autowaf.configure(conf)
+ if Options.options.ppc:
+ conf.env['build_arch'] = "ppc"
def build(bld):
obj = bld(features = 'cxx cxxshlib')
@@ -32,5 +35,8 @@ def build(bld):
'ARDOURBACKEND_DLL_EXPORTS', 'COREAUDIO_108'
]
- # OSX 10.6 or later
- obj.defines += ['COREAUDIO_108']
+ # use new coreaudio API (the old one was deprecated in 10.6, yet still works)
+ # only use with OSX intel 10.6 or later, but for all OSX/PPC (<= 10.6)
+ if not bld.env['build_target'] in ['panther', 'tiger', 'leopard']:
+ if not (bld.env['build_target'] == 'snow leopard' and conf.env['build_arch'] == "ppc"):
+ obj.defines += ['COREAUDIO_108']
diff --git a/wscript b/wscript
index 1f8b61ce19..c735a01e75 100644
--- a/wscript
+++ b/wscript
@@ -572,7 +572,7 @@ def options(opt):
opt.add_option('--arch', type='string', action='store', dest='arch',
help='Architecture-specific compiler FLAGS')
opt.add_option('--with-backends', type='string', action='store', default='jack', dest='with_backends',
- help='Specify which backend modules are to be included(jack,alsa,wavesaudio,dummy)')
+ help='Specify which backend modules are to be included(jack,alsa,wavesaudio,dummy,coreaudio)')
opt.add_option('--backtrace', action='store_true', default=True, dest='backtrace',
help='Compile with -rdynamic -- allow obtaining backtraces from within Ardour')
opt.add_option('--no-carbon', action='store_true', default=False, dest='nocarbon',
@@ -963,6 +963,24 @@ def configure(conf):
conf.env['BUILD_ALSABACKEND'] = any('alsa' in b for b in backends)
conf.env['BUILD_DUMMYBACKEND'] = any('dummy' in b for b in backends)
conf.env['BUILD_WAVESBACKEND'] = any('wavesaudio' in b for b in backends)
+ conf.env['BUILD_CORECRAPPITA'] = any('coreaudio' in b for b in backends)
+
+ if conf.env['BUILD_CORECRAPPITA'] and conf.env['BUILD_WAVESBACKEND']:
+ print("Coreaudio + Waves Backend are mutually exclusive")
+ sys.exit(1)
+
+ if sys.platform != 'darwin' and conf.env['BUILD_CORECRAPPITA']:
+ print("Coreaudio backend is only available for OSX")
+ sys.exit(1)
+
+ if sys.platform == 'linux' and conf.env['BUILD_WAVESBACKEND']:
+ print("Waves Backend is not for Linux")
+ sys.exit(1)
+
+ if sys.platform != 'linux' and conf.env['BUILD_ALSABACKEND']:
+ print("ALSA Backend is only available on Linux")
+ sys.exit(1)
+
set_compiler_flags (conf, Options.options)
@@ -1008,6 +1026,7 @@ const char* const ardour_config_info = "\\n\\
write_config_text('No plugin state', conf.is_defined('NO_PLUGIN_STATE'))
write_config_text('Build target', conf.env['build_target'])
write_config_text('CoreAudio', conf.is_defined('HAVE_COREAUDIO'))
+ write_config_text('CoreAudio/Midi Backend',conf.env['BUILD_CORECRAPPITA'])
write_config_text('Debug RT allocations', conf.is_defined('DEBUG_RT_ALLOC'))
write_config_text('Debug Symbols', conf.is_defined('debug_symbols') or conf.env['DEBUG'])
write_config_text('Dummy backend', conf.env['BUILD_DUMMYBACKEND'])