]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/platform.h
avoiding crashes on osx during app shutdown
[wxWidgets.git] / include / wx / platform.h
index 86b09ff0c2cb77822b453b6c4eec19127f22b4d6..bc61753e16c1ba76c588382b7b2fbd25188af1fd 100644 (file)
     __WXOSX_IPHONE__ means OS X iPhone
 */
 
     __WXOSX_IPHONE__ means OS X iPhone
 */
 
-/* supporting the old short name */
+/* backwards compatible define, until configure gets updated */
+#if defined __WXMAC__
+#define __WXOSX_CARBON__
+#endif
 
 
-#ifdef __WXMAC__ 
+#if defined(__WXOSX_CARBON__) || defined(__WXOSX_COCOA__) || defined(__WXOSX_IPHONE__) 
 #   define __WXOSX__
 #endif
 
 #ifdef __WXOSX__
 /* for backwards compatibility of code (including our own) define __WXMAC__ */
 #   define __WXOSX__
 #endif
 
 #ifdef __WXOSX__
 /* for backwards compatibility of code (including our own) define __WXMAC__ */
-#ifndef __WXMAC__
-#define __WXMAC__
-#endif
+#   ifndef __WXMAC__
+#       define __WXMAC__
+#   endif
 /* setup precise defines according to sdk used */
 #   include <TargetConditionals.h>
 /* setup precise defines according to sdk used */
 #   include <TargetConditionals.h>
-#   if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
-#       define __WXOSX_IPHONE__
-#       undef __WXOSX_MAC__
-#   elif defined(TARGET_OS_MAC) && TARGET_OS_MAC
-#       undef __WXOSX_IPHONE__
+#   if defined(__WXOSX_IPHONE__) 
+#       if !( defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE )
+#           error "incorrect SDK for an iPhone build"
+#       endif
+#   elif defined(__WXOSX_CARBON__) || defined(__WXOSX_COCOA__)
+#       if !( defined(TARGET_OS_MAC) && TARGET_OS_MAC )
+#           error "incorrect SDK for a Mac OS X build"
+#       endif
 #       define __WXOSX_MAC__
 #   else
 #       define __WXOSX_MAC__
 #   else
-#       error "unknown SDK, neither TARGET_OS_MAC nor TARGET_OS_IPHONE set in <TargetConditionals.h>"
+#       error "one of __WXOSX_IPHONE__, __WXOSX_CARBON__ or __WXOSX_COCOA__ must be defined"
 #   endif
 #endif
 
 #   endif
 #endif
 
 #endif
 
 /*
 #endif
 
 /*
-    __WXOSX__ is a common define to wxMac (Carbon) and wxCocoa ports under OS X.
+    __WXOSX_OR_COCOA__ is a common define to wxOSX (Carbon or Cocoa) and wxCocoa ports under OS X.
 
     DO NOT use this define in base library code.  Although wxMac has its own
 
     DO NOT use this define in base library code.  Although wxMac has its own
-    private base library (and thus __WXOSX__,__WXMAC__ and related defines are
+    private base library (and thus __WXOSX_OR_COCOA__,__WXMAC__ and related defines are
     valid there), wxCocoa shares its library with other ports like wxGTK and wxX11.
 
     valid there), wxCocoa shares its library with other ports like wxGTK and wxX11.
 
-    To keep wx authors from screwing this up, only enable __WXOSX__ for wxCocoa when
+    To keep wx authors from screwing this up, only enable __WXOSX_OR_COCOA__ for wxCocoa when
     not compiling the base library.  We determine this by first checking if
     wxUSE_BASE is not defined.  If it is not defined, then we're not buildling
     the base library, and possibly not building wx at all (but actually building
     not compiling the base library.  We determine this by first checking if
     wxUSE_BASE is not defined.  If it is not defined, then we're not buildling
     the base library, and possibly not building wx at all (but actually building
     using OS X libraries like Carbon or CoreServices.
 
  */
     using OS X libraries like Carbon or CoreServices.
 
  */
-#if defined(__WXOSX_MAC__) || (defined(__WXCOCOA__) && (!defined(wxUSE_BASE) || !wxUSE_BASE)) || defined(__WXOSX_IPHONE__)
-#   define __WXOSX__
+#if defined(__WXOSX__) || (defined(__WXCOCOA__) && (!defined(wxUSE_BASE) || !wxUSE_BASE))
+#   define __WXOSX_OR_COCOA__
 #endif
 
 #endif
 
-#ifdef __WXOSX__
+#ifdef __WXOSX_OR_COCOA__
 #    ifdef __WXMAC_XCODE__
 #        include <unistd.h>
 #        include <TargetConditionals.h>
 #    ifdef __WXMAC_XCODE__
 #        include <unistd.h>
 #        include <TargetConditionals.h>
  */
 
 #ifndef wxUSE_FILECONFIG
  */
 
 #ifndef wxUSE_FILECONFIG
-#    if wxUSE_CONFIG
+#    if wxUSE_CONFIG && wxUSE_TEXTFILE
 #        define wxUSE_FILECONFIG 1
 #    else
 #        define wxUSE_FILECONFIG 0
 #        define wxUSE_FILECONFIG 1
 #    else
 #        define wxUSE_FILECONFIG 0