]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/platform.h
dirty hack to fix deprecation warning when building wxMotif
[wxWidgets.git] / include / wx / platform.h
index 035b7e78ae0b92f21079ada59ba6a2b5b9a21f22..ee3a9458fafecea933ac1057f2ffe0977efd61dc 100644 (file)
@@ -19,7 +19,7 @@
     Codewarrior doesn't define any Windows symbols until some headers
     are included
 */
-#if __MWERKS__
+#ifdef __MWERKS__
 #    include <stddef.h>
 #endif
 
@@ -57,9 +57,7 @@
    first define Windows symbols if they're not defined on the command line: we
    can autodetect everything we need if _WIN32 is defined
  */
-#if defined(__CYGWIN32__) && !defined(__WXMOTIF__) && !defined(__WXGTK__) \
-    && !defined(__WXX11__)
-    /* for Cygwin, default to wxMSW unless otherwise specified */
+#if defined(__CYGWIN__) && defined(__WINDOWS__)
 #    ifndef __WXMSW__
 #        define __WXMSW__
 #    endif
 #        define __WIN32__
 #    endif
 
-    /*
-        The library user may override the default setting of WINVER by defining
-        it in his own makefile or project file -- if it is defined, we don't
-        touch it at all.
-
-        It makes sense to define WINVER as:
-            - either some lowish value (e.g. 0x0302) to not even compile in the
-              features not available in Windows version lower than some given
-              one
-            - or to a higher value than the one used by default for the given
-              compiler if you updated its headers to newer version of Platform
-              SDK, e.g. VC6 ships with 0x0400 headers by default but may also
-              work with 0x0500 headers and beyond
-    */
-#   ifndef WINVER
-#       if defined(_MSC_VER) && _MSC_VER < 1300
-            /*
-                VC6 defines some stuff in its default headers which is normally
-                only present if WINVER >= 0x0500 (FLASHW_XXX constants) which
-                means that our usual tests not involving WINVER sometimes fail
-                with it, hence explicitly define a lower WINVER value for it.
-             */
-#           define WINVER 0x0400
-#       elif defined(__DMC__)
-            /*
-                Digital Mars is distributed with a little outdated headers.
-             */
-#           define WINVER 0x0400
-#       else /* !VC++ 6 */
-            /*
-               see MSDN for the description of possible WINVER values, this one
-               is the highest one defined right now (Windows Server 2003) and
-               we use it unless it was explicitly overridden by the user to
-               disable recent features support as we check for all of the
-               features we use which could be not available on earlier Windows
-               systems during run-time anyhow, so there is almost no
-               disadvantage in using it.
-             */
-#           define WINVER 0x0502
-#       endif /* VC++ 6/!VC++6 */
-#   endif
-
-    /* Win95 means Win95-style UI, i.e. Win9x/NT 4+ */
-#    if !defined(__WIN95__) && (WINVER >= 0x0400)
+    /* this means Win95-style UI, i.e. Win9x/NT 4+: always true now */
+#    if !defined(__WIN95__)
 #        define __WIN95__
 #    endif
 #endif /* Win32 */
 #   endif
 #endif
 
+/*
+   Include wx/setup.h for the Unix platform defines generated by configure and
+   the library compilation options
+
+   Note that it must be included before defining hardware symbols below as they
+   could be already defined by configure
+ */
+#include "wx/setup.h"
+
 /*
    Hardware platform detection.
 
     #endif
 #endif /* alpha */
 
-/*
-   Include wx/setup.h for the Unix platform defines generated by configure and
-   the library compilation options
- */
-#include "wx/setup.h"
-
-/* check the consistency of the settings in setup.h */
-#include "wx/chkconf.h"
 
 /*
    adjust the Unicode setting: wxUSE_UNICODE should be defined as 0 or 1
 // otherwise MSL headers bring in WIN32 dependant APIs
 #undef UNICODE
 #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
+ */
+#include "wx/chkconf.h"
+
+
 /*
    some compilers don't support iostream.h any longer, while some of theme
    are not updated with <iostream> yet, so override the users setting here
 #    endif
 #endif
 
+/*
+   We get "Large Files (ILP32) not supported in strict ANSI mode." #error
+   from HP-UX standard headers when compiling with g++ without this:
+ */
+#if defined(__HPUX__) && !defined(__STDC_EXT__)
+#   define __STDC_EXT__ 1
+#endif
+
 /* Force linking against required libraries under Windows CE: */
 #ifdef __WXWINCE__
 #   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:
 
    at least maj.min
  */
 #if ( defined( __GNUWIN32__ ) || defined( __MINGW32__ ) || \
-    defined( __CYGWIN__ ) || \
+    ( defined( __CYGWIN__ ) && defined( __WINDOWS__ ) ) || \
       (defined(__WATCOMC__) && __WATCOMC__ >= 1200) ) && \
     !defined(__DOS__) && \
+    !defined(__WXOS2__) && \
     !defined(__WXMOTIF__) && \
     !defined(__WXGTK__) && \
     !defined(__WXX11__) && \
 #endif
 
 #if defined (__WXMAC__)
-#    ifndef WORDS_BIGENDIAN
+#    if !defined(WORDS_BIGENDIAN) && ( !defined(__MACH__) || ( defined(__BIG_ENDIAN__) && __BIG_ENDIAN__ ) )
 #        define WORDS_BIGENDIAN 1
 #    endif
 #endif
 #endif
 
 #endif /* _WX_PLATFORM_H_ */
-