[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39307] trunk/blender: Commiting patch from jensverwiebe for NDOF support on OSX
Sergey Sharybin
g.ulairi at gmail.com
Thu Aug 11 17:59:20 CEST 2011
Revision: 39307
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39307
Author: nazgul
Date: 2011-08-11 15:59:19 +0000 (Thu, 11 Aug 2011)
Log Message:
-----------
Commiting patch from jensverwiebe for NDOF support on OSX
Modified Paths:
--------------
trunk/blender/SConstruct
trunk/blender/build_files/scons/config/darwin-config.py
trunk/blender/build_files/scons/tools/btools.py
trunk/blender/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm
Modified: trunk/blender/SConstruct
===================================================================
--- trunk/blender/SConstruct 2011-08-11 14:50:19 UTC (rev 39306)
+++ trunk/blender/SConstruct 2011-08-11 15:59:19 UTC (rev 39307)
@@ -268,7 +268,8 @@
if env['WITH_BF_3DMOUSE'] == 1 and not os.path.exists('/Library/Frameworks/3DconnexionClient.framework'):
print "3D_CONNEXION_CLIENT_LIBRARY not found, disabling WITH_BF_3DMOUSE" # avoid build errors !
env['WITH_BF_3DMOUSE'] = 0
- env['FOUND_NDOF_DRIVERS'] = 0
+ else:
+ env.Append(LINKFLAGS=['-weak_framework','3DconnexionClient'])
if env['WITH_BF_OPENMP'] == 1:
Modified: trunk/blender/build_files/scons/config/darwin-config.py
===================================================================
--- trunk/blender/build_files/scons/config/darwin-config.py 2011-08-11 14:50:19 UTC (rev 39306)
+++ trunk/blender/build_files/scons/config/darwin-config.py 2011-08-11 15:59:19 UTC (rev 39307)
@@ -284,7 +284,7 @@
elif MACOSX_ARCHITECTURE == 'x86_64':
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-msse2']
-# SpaceNavigator and related 3D mice
+# SpaceNavigator and related 3D mice, driver must be 3DxWare 10 Beta 4 (Mac OS X) or later !
WITH_BF_3DMOUSE = True
#############################################################################
@@ -315,9 +315,6 @@
else:
PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QuickTime']
-if FOUND_NDOF_DRIVERS:
- PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS + ['-weak_framework','3DconnexionClient']
-
#note to build succesfully on 10.3.9 SDK you need to patch 10.3.9 by adding the SystemStubs.a lib from 10.4
LLIBS = ['stdc++', 'SystemStubs']
Modified: trunk/blender/build_files/scons/tools/btools.py
===================================================================
--- trunk/blender/build_files/scons/tools/btools.py 2011-08-11 14:50:19 UTC (rev 39306)
+++ trunk/blender/build_files/scons/tools/btools.py 2011-08-11 15:59:19 UTC (rev 39307)
@@ -136,7 +136,7 @@
'BF_NO_ELBEEM',
'WITH_BF_CXX_GUARDEDALLOC',
'WITH_BF_JEMALLOC', 'WITH_BF_STATICJEMALLOC', 'BF_JEMALLOC', 'BF_JEMALLOC_INC', 'BF_JEMALLOC_LIBPATH', 'BF_JEMALLOC_LIB', 'BF_JEMALLOC_LIB_STATIC',
- 'BUILDBOT_BRANCH', 'WITH_BF_3DMOUSE', 'FOUND_NDOF_DRIVERS', 'WITH_BF_STATIC3DMOUSE', 'BF_3DMOUSE', 'BF_3DMOUSE_INC', 'BF_3DMOUSE_LIB', 'BF_3DMOUSE_LIBPATH', 'BF_3DMOUSE_LIB_STATIC'
+ 'BUILDBOT_BRANCH', 'WITH_BF_3DMOUSE', 'WITH_BF_STATIC3DMOUSE', 'BF_3DMOUSE', 'BF_3DMOUSE_INC', 'BF_3DMOUSE_LIB', 'BF_3DMOUSE_LIBPATH', 'BF_3DMOUSE_LIB_STATIC'
]
# Have options here that scons expects to be lists
@@ -439,7 +439,6 @@
(BoolVariable('WITH_BF_NOBLENDER', 'Do not build blender if true', False)),
(BoolVariable('WITH_BF_3DMOUSE', 'Build blender with support of 3D mouses', False)),
- (BoolVariable('FOUND_NDOF_DRIVERS', 'We detected NDOF libs or framework', False)),
(BoolVariable('WITH_BF_STATIC3DMOUSE', 'Staticly link to 3d mouse library', False)),
('BF_3DMOUSE', '3d mouse library base path', ''),
('BF_3DMOUSE_INC', '3d mouse library include path', ''),
Modified: trunk/blender/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm 2011-08-11 14:50:19 UTC (rev 39306)
+++ trunk/blender/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm 2011-08-11 15:59:19 UTC (rev 39307)
@@ -159,18 +159,22 @@
GHOST_NDOFManagerCocoa::~GHOST_NDOFManagerCocoa()
{
- UnregisterConnexionClient(m_clientID);
- CleanupConnexionHandlers();
- ghost_system = NULL;
- ndof_manager = NULL;
+ if (available())
+ {
+ UnregisterConnexionClient(m_clientID);
+ CleanupConnexionHandlers();
+ ghost_system = NULL;
+ ndof_manager = NULL;
+ }
}
-
-bool GHOST_NDOFManagerCocoa::available()
-{
- // extern OSErr InstallConnexionHandlers() __attribute__((weak_import));
- // ^^ not needed since the entire framework is weak-linked
- return InstallConnexionHandlers != NULL;
- // this means that the driver is installed and dynamically linked to blender
+extern "C" {
+ bool GHOST_NDOFManagerCocoa::available()
+ {
+ extern OSErr InstallConnexionHandlers() __attribute__((weak_import));
+ // Make the linker happy for the framework check (see link below for more info)
+ // http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html
+ return InstallConnexionHandlers != NULL;
+ // this means that the driver is installed and dynamically linked to blender
+ }
}
-
#endif // WITH_INPUT_NDOF
More information about the Bf-blender-cvs
mailing list