[Summary] Made Tracks buildable on MAC OS X 10.9 Maverricks.

[Details] Important: On Mavericks Tracks could be successfully built with static library linkage so far.
Use --internal-static-libs flag configuring the build.
[Reviewed by] Partially reviewed by Paul Davis. Some Improvements may be promoted in future.
This commit is contained in:
GZharun 2014-07-15 15:14:08 +03:00
parent baa41a5907
commit 8c69a972b2
6 changed files with 18 additions and 7 deletions

View file

@ -25,7 +25,12 @@
/* an awful hack to stop Carbon #defines from messing with other code /* an awful hack to stop Carbon #defines from messing with other code
*/ */
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9
#include "MacTypes.h"
#else
#include "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h" #include "/System/Library/Frameworks/CoreServices.framework/Headers/../Frameworks/CarbonCore.framework/Headers/MacTypes.h"
#endif
#undef Style #undef Style
#undef Fixed #undef Fixed
#undef Yes #undef Yes

View file

@ -65,7 +65,7 @@
// Include the regular ConditionalMacros.h too, since it has useful stuff that // Include the regular ConditionalMacros.h too, since it has useful stuff that
// TargetConditionals.h lacks for some reason. // TargetConditionals.h lacks for some reason.
#if CoreAudio_Use_Framework_Includes #if CoreAudio_Use_Framework_Includes && !(MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9)
#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/ConditionalMacros.h> #include <CoreServices/../Frameworks/CarbonCore.framework/Headers/ConditionalMacros.h>
#else #else
#include "ConditionalMacros.h" #include "ConditionalMacros.h"

View file

@ -70,7 +70,7 @@ def build(bld):
# macros for this shared library # macros for this shared library
audiographer.defines = [ 'LIBAUDIOGRAPHER_DLL_EXPORTS=1' ] audiographer.defines = [ 'LIBAUDIOGRAPHER_DLL_EXPORTS=1' ]
else: else:
audiographer = bld.stlib(features = 'c cxx cstlib cxxstlib', source=libardour_sources) audiographer = bld.stlib(features = 'c cxx cstlib cxxstlib', source=audiographer_sources)
audiographer.cxxflags = [ '-fPIC' ] audiographer.cxxflags = [ '-fPIC' ]
audiographer.cflags = [ '-fPIC' ] audiographer.cflags = [ '-fPIC' ]
audiographer.defines = [] audiographer.defines = []

View file

@ -17,6 +17,10 @@
#include "WCRefManager.h" #include "WCRefManager.h"
#include "WCMRAudioDeviceManager.h" #include "WCMRAudioDeviceManager.h"
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_9
#include <unistd.h>
#endif
class WCMRNativeAudioDevice; //forward class WCMRNativeAudioDevice; //forward

View file

@ -87,7 +87,7 @@ def build(bld):
obj.target = 'canvas' obj.target = 'canvas'
obj.vnum = CANVAS_LIB_VERSION obj.vnum = CANVAS_LIB_VERSION
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
obj.defines += [ 'PACKAGE="' + I18N_PACKAGE + '"' ] obj.defines = [ 'PACKAGE="' + I18N_PACKAGE + '"' ]
if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']: if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:

View file

@ -152,12 +152,14 @@ def set_compiler_flags (conf,opt):
# waf adds -O0 -g itself. thanks waf! # waf adds -O0 -g itself. thanks waf!
is_clang = conf.env['CXX'][0].endswith('clang++') is_clang = conf.env['CXX'][0].endswith('clang++')
if platform == "darwin":
cxx_flags.append('-stdlib=libc++')
linker_flags.append('-lc++')
if conf.options.cxx11: if conf.options.cxx11:
conf.check_cxx(cxxflags=["-std=c++11"]) conf.check_cxx(cxxflags=["-std=c++11"])
cxx_flags.append('-std=c++11') cxx_flags.append('-std=c++11')
if platform == "darwin": if platform == "darwin":
cxx_flags.append('-stdlib=libc++')
link_flags.append('-lc++')
# Prevents visibility issues in standard headers # Prevents visibility issues in standard headers
conf.define("_DARWIN_C_SOURCE", 1) conf.define("_DARWIN_C_SOURCE", 1)
@ -274,7 +276,7 @@ def set_compiler_flags (conf,opt):
if conf.env['FPU_OPTIMIZATION']: if conf.env['FPU_OPTIMIZATION']:
if sys.platform == 'darwin': if sys.platform == 'darwin':
compiler_flags.append("-DBUILD_VECLIB_OPTIMIZATIONS"); compiler_flags.append("-DBUILD_VECLIB_OPTIMIZATIONS");
linker_flags.append("-framework Accelerate") #linker_flags.append("-framework Accelerate")
elif conf.env['build_target'] == 'i686' or conf.env['build_target'] == 'x86_64': elif conf.env['build_target'] == 'i686' or conf.env['build_target'] == 'x86_64':
compiler_flags.append ("-DBUILD_SSE_OPTIMIZATIONS") compiler_flags.append ("-DBUILD_SSE_OPTIMIZATIONS")
if not build_host_supports_sse: if not build_host_supports_sse: