X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/371684d3f7693a5e020e2932aed89f41a470522f..c5c04fabb02c27bcc8115bff024d74ddd48f8175:/include/wx/msw/gccpriv.h diff --git a/include/wx/msw/gccpriv.h b/include/wx/msw/gccpriv.h index a134514de5..de45b8160a 100644 --- a/include/wx/msw/gccpriv.h +++ b/include/wx/msw/gccpriv.h @@ -3,9 +3,15 @@ #ifndef _WX_MSW_GCCPRIV_H_ #define _WX_MSW_GCCPRIV_H_ -#if defined( __MINGW32__ ) - //#include <_mingw.h> - #if __MINGW32_MAJOR_VERSION >= 1 +#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 @@ -22,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 @@ -44,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_