]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/platform.h
adjust the toolbar tools bitmap size to fit the biggest bitmap used under wxOSX too...
[wxWidgets.git] / include / wx / platform.h
index 86b09ff0c2cb77822b453b6c4eec19127f22b4d6..a1a2537981a591ccf1e0ec69d95cbc4ac3600355 100644 (file)
     __WXOSX_IPHONE__ means OS X iPhone
 */
 
-/* supporting the old short name */
+/* backwards compatible define, until configure gets updated */
+#if defined __WXMAC__
+#define __WXOSX_CARBON__ 1
+#endif
 
-#ifdef __WXMAC__ 
-#   define __WXOSX__
+#if defined(__WXOSX_CARBON__) || defined(__WXOSX_COCOA__) || defined(__WXOSX_IPHONE__) 
+#   define __WXOSX__ 1
 #endif
 
 #ifdef __WXOSX__
 /* for backwards compatibility of code (including our own) define __WXMAC__ */
-#ifndef __WXMAC__
-#define __WXMAC__
-#endif
+#   ifndef __WXMAC__
+#       define __WXMAC__ 1
+#   endif
 /* 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__
-#       define __WXOSX_MAC__
+#   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__ 1
 #   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
 
 /*
-    __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
-    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.
 
-    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
     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__ 1
 #endif
 
-#ifdef __WXOSX__
+#ifdef __WXOSX_OR_COCOA__
 #    ifdef __WXMAC_XCODE__
 #        include <unistd.h>
 #        include <TargetConditionals.h>
 #    ifndef __WXMSW__
 #        define __WXMSW__
 #    endif
-
-#    ifndef _WIN32
-#        define _WIN32
-#    endif
-
-#    ifndef WIN32
-#        define WIN32
-#    endif
 #endif
 
 #if defined(__PALMOS__)
 #    ifndef __WXMSW__
 #        define __WXMSW__
 #    endif
-
-#    ifndef __WIN32__
-#        define __WIN32__
-#    endif
 #endif /* Win32 */
 
-#if defined(__WXMSW__) || defined(__WIN32__)
+#if defined(__WXMSW__)
 #   if !defined(__WINDOWS__)
 #       define __WINDOWS__
 #   endif
-#endif
+
+#   ifndef _WIN32
+#        define _WIN32
+#   endif
+
+#   ifndef WIN32
+#        define WIN32
+#   endif
+
+#   ifndef __WIN32__
+#        define __WIN32__
+#   endif
+#endif /* __WXMSW__ */
 
 /* detect MS SmartPhone */
 #if defined( WIN32_PLATFORM_WFSP )
 #   endif
 #endif
 
+#if defined(__WXWINCE__) && defined(_MSC_VER) && (_MSC_VER == 1201)
+    #define __EVC4__
+#endif
+
 #if defined(__POCKETPC__) || defined(__SMARTPHONE__) || defined(__WXGPE__)
 #   define __WXHANDHELD__
 #endif
    Note that it must be included before defining hardware symbols below as they
    could be already defined by configure
  */
+#include "wx/setup.h"
+
 #ifdef __GCCXML__
     /*
         we're using gccxml to create an XML representation of the entire
-        wxWidgets interface; pass it a special setup.h file
+        wxWidgets interface; use a special setup_gccxml.h file to fix some
+        of the stuff #defined by the real setup.h
     */
     #include "wx/setup_gccxml.h"
-#else
-    #include "wx/setup.h"
 #endif
 
+
 /*
    Hardware platform detection.
 
 
 #    ifdef __EMX__
 #        define OS2EMX_PLAIN_CHAR
+#    endif
+#    if defined(__INNOTEK_LIBC__)
+        /* Ensure visibility of strnlen declaration */
+#        define _GNU_SOURCE
 #    endif
 
     /* define __HPUX__ for HP-UX where standard macro is __hpux */
 /*  According to Stefan even ancient Mac compilers defined __BIG_ENDIAN__ */
 #    warning "Compiling wxMac with probably wrong endianness"
 #endif
-
+/* also the 32/64 bit universal builds must be handled accordingly */
+#ifdef __DARWIN__
+#      ifdef __LP64__
+#              undef SIZEOF_VOID_P 
+#              undef SIZEOF_LONG 
+#              undef SIZEOF_SIZE_T 
+#              define SIZEOF_VOID_P 8
+#              define SIZEOF_LONG 8
+#              define SIZEOF_SIZE_T 8
+#      else
+#              undef SIZEOF_VOID_P 
+#              undef SIZEOF_LONG 
+#              undef SIZEOF_SIZE_T 
+#              define SIZEOF_VOID_P 4
+#              define SIZEOF_LONG 4
+#              define SIZEOF_SIZE_T 4
+#      endif
+#endif
 /*
    check the consistency of the settings in setup.h: note that this must be
    done after setting wxUSE_UNICODE correctly as it is used in wx/chkconf.h
  */
 
 #ifndef wxUSE_FILECONFIG
-#    if wxUSE_CONFIG
+#    if wxUSE_CONFIG && wxUSE_TEXTFILE
 #        define wxUSE_FILECONFIG 1
 #    else
 #        define wxUSE_FILECONFIG 0