OSX: proper scons config and linking weak for jackOSX and errorhandling

This commit is contained in:
Jens Verwiebe 2011-12-12 22:17:02 +00:00
parent 01478a3743
commit 94bc2b0cff
3 changed files with 20 additions and 6 deletions

@ -272,7 +272,7 @@ if 'blenderlite' in B.targets:
if k not in B.arguments: if k not in B.arguments:
env[k] = v env[k] = v
# Extended OSX_SDK and 3D_CONNEXION_CLIENT_LIBRARY detection for OSX # Extended OSX_SDK and 3D_CONNEXION_CLIENT_LIBRARY and JAckOSX detection for OSX
if env['OURPLATFORM']=='darwin': if env['OURPLATFORM']=='darwin':
print B.bc.OKGREEN + "Detected Xcode version: -- " + B.bc.ENDC + env['XCODE_CUR_VER'][:9] + " --" print B.bc.OKGREEN + "Detected Xcode version: -- " + B.bc.ENDC + env['XCODE_CUR_VER'][:9] + " --"
print "Available " + env['MACOSX_SDK_CHECK'] print "Available " + env['MACOSX_SDK_CHECK']
@ -291,6 +291,16 @@ if env['OURPLATFORM']=='darwin':
else: else:
env.Append(LINKFLAGS=['-Xlinker','-weak_framework','-Xlinker','3DconnexionClient']) env.Append(LINKFLAGS=['-Xlinker','-weak_framework','-Xlinker','3DconnexionClient'])
# for now, Mac builders must download and install the JackOSX framework
# necessary header file lives here when installed:
# /Library/Frameworks/Jackmp.framework/Versions/A/Headers/jack.h
if env['WITH_BF_JACK'] == 1:
if not os.path.exists('/Library/Frameworks/Jackmp.framework'):
print "JackOSX install not found, disabling WITH_BF_JACK" # avoid build errors !
env['WITH_BF_JACK'] = 0
else:
env.Append(LINKFLAGS=['-Xlinker','-weak_framework','-Xlinker','Jackmp'])
if env['WITH_BF_OPENMP'] == 1: if env['WITH_BF_OPENMP'] == 1:
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'): if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
env['CCFLAGS'].append('/openmp') env['CCFLAGS'].append('/openmp')

@ -148,12 +148,12 @@ BF_CXX = '/usr'
WITH_BF_STATICCXX = False WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a' BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
# TODO - set proper paths here (add precompiled to lib/ ? ) # we use simply jack framework
WITH_BF_JACK = False WITH_BF_JACK = True
BF_JACK = '/usr' BF_JACK = '/Library/Frameworks/Jackmp.framework'
BF_JACK_INC = '${BF_JACK}/include/jack' BF_JACK_INC = '${BF_JACK}/headers'
BF_JACK_LIB = 'jack' BF_JACK_LIB = 'jack'
BF_JACK_LIBPATH = '${BF_JACK}/lib' BF_JACK_LIBPATH = '${BF_JACK}'
WITH_BF_SNDFILE = True WITH_BF_SNDFILE = True
BF_SNDFILE = LIBDIR + '/sndfile' BF_SNDFILE = LIBDIR + '/sndfile'

@ -36,6 +36,10 @@
#include <string> #include <string>
#if defined(__APPLE__) // always first include for jack weaklinking !
#include <weakjack.h>
#endif
#include <jack.h> #include <jack.h>
#include <ringbuffer.h> #include <ringbuffer.h>