]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/platform.h
update from James Bishop
[wxWidgets.git] / include / wx / platform.h
index 0d618367466c02261b3fe9523ba641f8e627bb1d..2b4a0a274f0f3dc31f7e427729d5651c24f874e4 100644 (file)
 */
 #ifdef __WXMAC__
 #    if defined(__MACH__)
-#        define __WXMAC_OSX__ 1
-#        define __WXMAC_CARBON__ 1
+#        define __WXMAC_OSX__
+#        define __WXMAC_CARBON__
 #        ifdef __WXMAC_XCODE__
+#            include <unistd.h>
 #            include "wx/mac/carbon/config_xcode.h"
 #        endif
 #    else
 #        if TARGET_CARBON
-#            define __WXMAC_CARBON__ 1
+#            define __WXMAC_CARBON__
 #        else
-#            define __WXMAC_CLASSIC__ 1
+#            define __WXMAC_CLASSIC__
 #        endif
 #    endif
 #endif
 #    endif
 #endif
 
+#if defined(__PALMOS__)
+#   ifndef __WXPALMOS__
+#       define __WXPALMOS__
+#   endif
+#   ifdef __WXMSW__
+#       undef __WXMSW__
+#   endif
+#   ifdef __WINDOWS__
+#       undef __WINDOWS__
+#   endif
+#   ifdef __WIN32__
+#       undef __WIN32__
+#   endif
+#   ifdef WIN32
+#       undef WIN32
+#   endif
+#   ifdef _WIN32
+#       undef _WIN32
+#   endif
+#endif
+
 #if defined(_WIN64)
 #    ifndef _WIN32
         /*
 #   endif
 #endif
 
+/*
+   Hardware platform detection.
+
+   VC++ defines _M_xxx symbols.
+ */
+#if defined(_M_IX86) || defined(i386) || defined(__i386) || defined(__i386__)
+    #ifndef __INTEL__
+        #define __INTEL__
+    #endif
+#endif /* x86 */
+
+#if defined(_M_IA64)
+    #ifndef __IA64__
+        #define __IA64__
+    #endif
+#endif /* ia64 */
+
+#if defined(_M_MPPC) || defined(__PPC__)
+    #ifndef __POWERPC__
+        #define __POWERPC__
+    #endif
+#endif /* alpha */
+
+#if defined(_M_ALPHA) || defined(__AXP__)
+    #ifndef __ALPHA__
+        #define __ALPHA__
+    #endif
+#endif /* alpha */
+
 /*
    Include wx/setup.h for the Unix platform defines generated by configure and
    the library compilation options
 #    endif
 #    define wxSIZE_T_IS_UINT
 
+#elif defined(__PALMOS__)
+#    ifdef __WIN32__
+#        error "__WIN32__ should not be defined for PalmOS"
+#    endif
+#    ifdef __WINDOWS__
+#        error "__WINDOWS__ should not be defined for PalmOS"
+#    endif
+#    ifdef __WXMSW__
+#        error "__WXMSW__ should not be defined for PalmOS"
+#    endif
+
 #else   /* Windows */
 #    ifndef __WINDOWS__
 #        define __WINDOWS__
 #   include "wx/msw/wince/libraries.h"
 #endif
 
+/* Force inclusion of main PalmOS header: */
+#ifdef __WXPALMOS__
+#   include <PalmOS.h>
+#   undef Abs
+#endif
+
 /*
    This macro can be used to test the gcc version and can be used like this:
 
 #if ( defined( __GNUWIN32__ ) || defined( __MINGW32__ ) || \
     defined( __CYGWIN__ ) || \
       (defined(__WATCOMC__) && __WATCOMC__ >= 1200) ) && \
-    !defined(__DOS__) && !defined(__WXMOTIF__) && !defined(__WXGTK__) && !defined(__WXX11__)
+    !defined(__DOS__) && \
+    !defined(__WXMOTIF__) && \
+    !defined(__WXGTK__) && \
+    !defined(__WXX11__) && \
+    !defined(__WXPALMOS__)
 #    include "wx/msw/gccpriv.h"
 #else
 #    undef wxCHECK_W32API_VERSION
 #endif
 
 /*
-    We need AvailabilityMacros.h for ifdefing out things that don't exist on 
+    We need AvailabilityMacros.h for ifdefing out things that don't exist on
     OSX 10.2 and lower
     FIXME:  We need a better way to detect for 10.3 then including a system header
 */