X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae090fdb7f4be47466b5728ad37065923b48c8c3..138618acb91e2a879a735c5806f9f728220f14df:/include/wx/msw/gccpriv.h diff --git a/include/wx/msw/gccpriv.h b/include/wx/msw/gccpriv.h index 5fff4db826..de45b8160a 100644 --- a/include/wx/msw/gccpriv.h +++ b/include/wx/msw/gccpriv.h @@ -3,6 +3,19 @@ #ifndef _WX_MSW_GCCPRIV_H_ #define _WX_MSW_GCCPRIV_H_ +#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( HAVE_W32API_H ) #include @@ -15,7 +28,7 @@ // 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))) +#if (defined(__MINGW32__) || defined(__CYGWIN__) || defined(__WINE__)) && ((__GNUC__>2) || ((__GNUC__==2) && (__GNUC_MINOR__>=95))) #ifndef wxUSE_NORLANDER_HEADERS #define wxUSE_NORLANDER_HEADERS 1 #endif @@ -37,5 +50,33 @@ #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 ) \ + && !wxCHECK_W32API_VERSION( 1, 1 ) + #ifndef _tsetlocale + #if wxUSE_UNICODE + #define _tsetlocale _wsetlocale + #else + #define _tsetlocale setlocale + #endif + #endif + #ifndef _tgetenv + #if wxUSE_UNICODE + #define _tgetenv _wgetenv + #else + #define _tgetenv getenv + #endif + #endif + #ifndef _tfopen + #if wxUSE_UNICODE + #define _tfopen _wfopen + #else + #define _tfopen fopen + #endif + #endif +#endif + + #endif // _WX_MSW_GCCPRIV_H_