VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Rendering/OpenGL/vtkCocoaMacOSXSDKCompatibility.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003 Program:   Visualization Toolkit
00004 Module:    vtkCocoaMacOSXSDKCompatibility.h
00005 
00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007 All rights reserved.
00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010 This software is distributed WITHOUT ANY WARRANTY; without even
00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012 PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00024 #include <AvailabilityMacros.h>
00025 
00026 #if MAC_OS_X_VERSION_MAX_ALLOWED < 1050
00027   #error VTK requires the Mac OS X 10.5 SDK or later
00028 #endif
00029 
00030 #if MAC_OS_X_VERSION_MIN_REQUIRED < 1050
00031   #error VTK requires a deployment target of Mac OS X 10.5 or later
00032 #endif
00033 
00034 // __has_feature is new in the 10.7 SDK, define it here if it's not yet defined.
00035 #ifndef __has_feature
00036   #define __has_feature(x) 0
00037 #endif
00038 
00039 // Create handy #defines that indicate the Objective-C memory management model.
00040 // Manual Retain Release, Automatic Reference Counting, or Garbage Collection.
00041 #if defined(__OBJC_GC__)
00042   #define VTK_OBJC_IS_MRR 0
00043   #define VTK_OBJC_IS_ARC 0
00044   #define VTK_OBJC_IS_GC 1
00045 #elif __has_feature(objc_arc)
00046   #define VTK_OBJC_IS_MRR 0
00047   #define VTK_OBJC_IS_ARC 1
00048   #define VTK_OBJC_IS_GC 0
00049 #else
00050   #define VTK_OBJC_IS_MRR 1
00051   #define VTK_OBJC_IS_ARC 0
00052   #define VTK_OBJC_IS_GC 0
00053 #endif
00054 
00055 #if __has_feature(objc_arc)
00056   #error VTK does not yet support ARC memory management
00057 #endif
00058 
00059 // VTK-HeaderTest-Exclude: vtkCocoaMacOSXSDKCompatibility.h