X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cd99221a57fcbd89f61a5bbd67fe7da914e09cac..c45b7e75d1833c93200ca2d4e518954e48ec936e:/include/wx/msw/gccpriv.h diff --git a/include/wx/msw/gccpriv.h b/include/wx/msw/gccpriv.h index 1776267b2b..220e1bcd63 100644 --- a/include/wx/msw/gccpriv.h +++ b/include/wx/msw/gccpriv.h @@ -1,30 +1,47 @@ -// MinGW w32api specific stuff +/* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ +/* MinGW w32api specific stuff */ #ifndef _WX_MSW_GCCPRIV_H_ #define _WX_MSW_GCCPRIV_H_ -#if defined( __MINGW32__ ) - //#include <_mingw.h> - #if __MINGW32_MAJOR_VERSION >= 1 - #ifndef HAVE_W32API_H - #define HAVE_W32API_H +#if defined(__MINGW32__) && !defined(__GNUWIN32__) + #define __GNUWIN32__ +#endif + +#if defined( __MINGW32__ ) && !defined(__WINE__) && !defined( HAVE_W32API_H ) + #if ( __GNUC__ > 2 ) || ( ( __GNUC__ == 2 ) && ( __GNUC_MINOR__ >= 95 ) ) + #include <_mingw.h> + #if __MINGW32_MAJOR_VERSION >= 1 + #define HAVE_W32API_H #endif #endif +#elif defined( __CYGWIN__ ) && !defined( HAVE_W32API_H ) + #if ( __GNUC__ > 2 ) + #define HAVE_W32API_H + #endif #endif -// check for MinGW/Cygwin w32api version ( releases >= 0.5, only ) +#if (defined(__WATCOMC__) && __WATCOMC__ >= 1200) + #define HAVE_W32API_H +#endif + +/* check for MinGW/Cygwin w32api version ( releases >= 0.5, only ) */ #if defined( HAVE_W32API_H ) #include #endif -#define wxCHECK_W32API_VERSION( major, minor ) \ - ( defined( __W32API_MAJOR_VERSION ) && defined( __W32API_MINOR_VERSION ) \ - && ( ( __W32API_MAJOR_VERSION > (major) ) \ +/* Watcom can't handle defined(xxx) here: */ +#if defined(__W32API_MAJOR_VERSION) && defined(__W32API_MINOR_VERSION) + #define wxCHECK_W32API_VERSION( major, minor ) \ + ( ( ( __W32API_MAJOR_VERSION > (major) ) \ || ( __W32API_MAJOR_VERSION == (major) && __W32API_MINOR_VERSION >= (minor) ) ) ) +#else + #define wxCHECK_W32API_VERSION( major, minor ) (0) +#endif -// Cygwin / Mingw32 with gcc >= 2.95 use new windows headers which -// are more ms-like (header author is Anders Norlander, hence the name) -#if (defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) || ((__GNUC__==2) && (__GNUC_MINOR__>=95))) +/* Cygwin / Mingw32 with gcc >= 2.95 use new windows headers which + are more ms-like (header author is Anders Norlander, hence the name) */ +#if (defined(__MINGW32__) || defined(__CYGWIN__) || defined(__WINE__)) && ((__GNUC__>2) || ((__GNUC__==2) && (__GNUC_MINOR__>=95))) #ifndef wxUSE_NORLANDER_HEADERS #define wxUSE_NORLANDER_HEADERS 1 #endif @@ -34,21 +51,22 @@ #endif #endif -// "old" GNUWIN32 is the one without Norlander's headers: it lacks the -// standard Win32 headers and we define the used stuff ourselves for it -// in wx/msw/gnuwin32/extra.h +/* "old" GNUWIN32 is the one without Norlander's headers: it lacks the + standard Win32 headers and we define the used stuff ourselves for it + in wx/msw/gnuwin32/extra.h */ #if defined(__GNUC__) && !wxUSE_NORLANDER_HEADERS #define __GNUWIN32_OLD__ #endif -// Cygwin 1.0 +/* Cygwin 1.0 */ #if defined(__CYGWIN__) && ((__GNUC__==2) && (__GNUC_MINOR__==9)) #define __CYGWIN10__ #endif -// Mingw runtime 1.0-20010604 has some missing _tXXXX functions, -// so let's define them ourselves: -#if defined(__GNUWIN32__) && wxCHECK_W32API_VERSION( 1, 0 ) +/* Mingw runtime 1.0-20010604 has some missing _tXXXX functions, + so let's define them ourselves: */ +#if defined(__GNUWIN32__) && wxCHECK_W32API_VERSION( 1, 0 ) \ + && !wxCHECK_W32API_VERSION( 1, 1 ) #ifndef _tsetlocale #if wxUSE_UNICODE #define _tsetlocale _wsetlocale @@ -74,4 +92,4 @@ #endif - // _WX_MSW_GCCPRIV_H_ + /* _WX_MSW_GCCPRIV_H_ */