Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Verwiebe <info@jensverwiebe.de>2011-12-13 02:17:02 +0400
committerJens Verwiebe <info@jensverwiebe.de>2011-12-13 02:17:02 +0400
commit94bc2b0cffd27dc74f428aee86ca9e2782a14e0a (patch)
tree729f493b7dccbe188d2638c941b42d9032538288
parent01478a3743f1d1fe3d641ff498953af027ca2e60 (diff)
OSX: proper scons config and linking weak for jackOSX and errorhandling
-rw-r--r--SConstruct12
-rw-r--r--build_files/scons/config/darwin-config.py10
-rw-r--r--intern/audaspace/jack/AUD_JackDevice.h4
3 files changed, 20 insertions, 6 deletions
diff --git a/SConstruct b/SConstruct
index 0bd7dc70446..d8db597d1c6 100644
--- a/SConstruct
+++ b/SConstruct
@@ -272,7 +272,7 @@ if 'blenderlite' in B.targets:
if k not in B.arguments:
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':
print B.bc.OKGREEN + "Detected Xcode version: -- " + B.bc.ENDC + env['XCODE_CUR_VER'][:9] + " --"
print "Available " + env['MACOSX_SDK_CHECK']
@@ -291,6 +291,16 @@ if env['OURPLATFORM']=='darwin':
else:
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['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
env['CCFLAGS'].append('/openmp')
diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py
index e0b8822ce36..b84890fbba3 100644
--- a/build_files/scons/config/darwin-config.py
+++ b/build_files/scons/config/darwin-config.py
@@ -148,12 +148,12 @@ BF_CXX = '/usr'
WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
-# TODO - set proper paths here (add precompiled to lib/ ? )
-WITH_BF_JACK = False
-BF_JACK = '/usr'
-BF_JACK_INC = '${BF_JACK}/include/jack'
+# we use simply jack framework
+WITH_BF_JACK = True
+BF_JACK = '/Library/Frameworks/Jackmp.framework'
+BF_JACK_INC = '${BF_JACK}/headers'
BF_JACK_LIB = 'jack'
-BF_JACK_LIBPATH = '${BF_JACK}/lib'
+BF_JACK_LIBPATH = '${BF_JACK}'
WITH_BF_SNDFILE = True
BF_SNDFILE = LIBDIR + '/sndfile'
diff --git a/intern/audaspace/jack/AUD_JackDevice.h b/intern/audaspace/jack/AUD_JackDevice.h
index 3813685dbb6..6373d4f9d6d 100644
--- a/intern/audaspace/jack/AUD_JackDevice.h
+++ b/intern/audaspace/jack/AUD_JackDevice.h
@@ -36,6 +36,10 @@
#include <string>
+#if defined(__APPLE__) // always first include for jack weaklinking !
+#include <weakjack.h>
+#endif
+
#include <jack.h>
#include <ringbuffer.h>