]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/platform.h
Enable variadic macros for VC9 and later.
[wxWidgets.git] / include / wx / platform.h
index 2d570db1a4de1038687a698e3cf741532661dee7..cdd8b9ce4844044f36cdb5c34605579e1f62f9d1 100644 (file)
 #ifndef _WX_PLATFORM_H_
 #define _WX_PLATFORM_H_
 
-
-/*
-    Codewarrior doesn't define any Windows symbols until some headers
-    are included
-*/
-#ifdef __MWERKS__
-#   include <stddef.h>
-
-#  if !defined(__WXMAC__) && !defined(__WINDOWS__) && !defined(WIN32) && !defined(_WIN32_WCE)
-#    define __PALMOS__ 0x05000000
-#  endif
-#endif
-
 #ifdef __WXMAC_XCODE__
 #    include <unistd.h>
 #    include <TargetConditionals.h>
 #    include <AvailabilityMacros.h>
+#    ifndef MAC_OS_X_VERSION_10_4
+#       define MAC_OS_X_VERSION_10_4 1040
+#    endif
+#    ifndef MAC_OS_X_VERSION_10_5
+#       define MAC_OS_X_VERSION_10_5 1050
+#    endif
+#    ifndef MAC_OS_X_VERSION_10_6
+#       define MAC_OS_X_VERSION_10_6 1060
+#    endif
 #    include "wx/osx/config_xcode.h"
+#    ifndef __WXOSX__
+#        define __WXOSX__ 1
+#    endif
+#    ifndef __WXMAC__
+#        define __WXMAC__ 1
+#    endif
 #endif
 
 /*
 #    endif
 #endif
 
-#if defined(__PALMOS__)
-#   if __PALMOS__ == 0x06000000
-#       define __WXPALMOS6__ 1
-#   endif
-#   if __PALMOS__ == 0x05000000
-#       define __WXPALMOS5__ 1
-#   endif
-#   ifndef __WXPALMOS__
-#       define __WXPALMOS__ 1
-#   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
         /*
 #   define __WXHANDHELD__
 #endif
 
+#ifdef __ANDROID__
+#   define __WXANDROID__
+#   include "wx/android/config_android.h"
+#endif
+
 /*
    Include wx/setup.h for the Unix platform defines generated by configure and
    the library compilation options
  */
 #include "wx/setup.h"
 
-#ifdef __GCCXML__
-    /*
-        we're using gccxml to create an XML representation of the entire
-        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"
+/*
+   Convenience for any optional classes that use the wxAnyButton base class.
+ */
+#if wxUSE_TOGGLEBTN || wxUSE_BUTTON
+    #define wxHAS_ANY_BUTTON
 #endif
 
 
 #   endif
 #endif /* wxUSE_UNICODE */
 
-#if defined( __MWERKS__ ) && !defined(__INTEL__)
-/* otherwise MSL headers bring in WIN32 dependant APIs */
-#undef UNICODE
-#endif
-
 
 /*
    test for old versions of Borland C, normally need at least 5.82, Turbo
 #        endif
 #    endif
 
-/*
-   OS: Classic Mac OS
- */
-#elif defined(applec) || \
-      defined(THINK_C) || \
-      (defined(__MWERKS__) && !defined(__INTEL__))
-      /* MacOS */
-#    if !defined(wxSIZE_T_IS_UINT) && !defined(wxSIZE_T_IS_ULONG)
-#        define wxSIZE_T_IS_ULONG
-#    endif
-
 /*
    OS: OS/2
  */
 #    endif
 #    define wxSIZE_T_IS_UINT
 
-/*
-   OS: Palm OS
- */
-#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
-
 /*
    OS: Otherwise it must be Windows
  */
 
     /*
        define another standard symbol for Microsoft Visual C++: the standard
-       one (_MSC_VER) is also defined by Metrowerks compiler
+       one (_MSC_VER) is also defined by some other compilers.
      */
-#    if defined(_MSC_VER) && !defined(__MWERKS__)
+#    if defined(_MSC_VER)
 #        define __VISUALC__ _MSC_VER
 
     /*
 #       define __VISUALC9__
 #   elif __VISUALC__ < 1700
 #       define __VISUALC10__
+#   elif __VISUALC__ < 1800
+#       define __VISUALC11__
 #   else
 #       pragma message("Please update wx/platform.h to recognize this VC++ version")
 #   endif
     !defined(__WXPM__) && \
     !defined(__WXMOTIF__) && \
     !defined(__WXGTK__) && \
-    !defined(__WXX11__) && \
-    !defined(__WXPALMOS__)
+    !defined(__WXX11__)
 #    include "wx/msw/gccpriv.h"
 #else
 #    undef wxCHECK_W32API_VERSION
  * Presently, only Windows and GTK+ support wxEVT_MENU_OPEN.
  */
 #ifndef wxUSE_IDLEMENUUPDATES
-#    if (defined(__WXMSW__) || defined(__WXGTK__)) && !defined(__WXUNIVERSAL__)
+#    if (defined(__WXMSW__) || defined(__WXGTK__) || defined(__WXOSX__)) && !defined(__WXUNIVERSAL__)
 #        define wxUSE_IDLEMENUUPDATES 0
 #    else
 #        define wxUSE_IDLEMENUUPDATES 1
 #    define wxUSE_WXDIB 1
 #endif
 
-#if defined (__WXPALMOS__)
-#include "wx/palmos/missing.h"
-#endif /* __WXPALMOS__ */
-
-#if !defined (__WXPALMOS5__)
-#define POSSEC_APPBASE
-#define POSSEC_ARCHIVE
-#define POSSEC_CLNTDATA
-#define POSSEC_CMDLINE
-#define POSSEC_CONFIG
-#define POSSEC_DATETIME
-#define POSSEC_DATETIME2
-#define POSSEC_DATSTRM
-#define POSSEC_DIRCMN
-#define POSSEC_DYNARRAY
-#define POSSEC_DYNLIB
-#define POSSEC_DYNLOAD
-#define POSSEC_ENCCONV
-#define POSSEC_EXTENDED
-#define POSSEC_FFILE
-#define POSSEC_FILE
-#define POSSEC_FILECONF
-#define POSSEC_FILEFN
-#endif /* __WXPALMOS5__ */
-
 /*
     Optionally supported C++ features.
  */