- #if wxUSE_UNICODE
- #if wxUSE_UNICODE_MSLU
- #define wxMkDir wxMSLU__wmkdir
- #define wxRmDir wxMSLU__wrmdir
- #define wxStat wxMSLU__wstat
- #else
- #define wxMkDir _wmkdir
- #define wxRmDir _wrmdir
- #define wxStat _wstat
- #endif
- #else // !wxUSE_UNICODE
- #define wxMkDir _mkdir
- #ifdef __WATCOMC__
- #define wxRmDir rmdir
- #else
- #define wxRmDir _rmdir
+ // always Unicode under WinCE
+ #define wxMkDir _wmkdir
+ #define wxRmDir _wrmdir
+ #define wxStat _wstat
+ #define wxStructStat struct _stat
+#elif defined(__WXMSW__) && !defined(__WXPALMOS__) && \
+ ( \
+ defined(__VISUALC__) || \
+ (defined(__MINGW32__) && !defined(__WINE__) && \
+ wxCHECK_W32API_VERSION(0, 5)) || \
+ defined(__MWERKS__) || \
+ defined(__DMC__) || \
+ defined(__WATCOMC__) || \
+ defined(__BORLANDC__) \
+ )
+
+ #undef wxHAS_HUGE_FILES
+
+ // detect compilers which have support for huge files (notice that the
+ // MSVC falls under _INTEGRAL_MAX_BITS >= 64 branch, so we don't have to
+ // test for it explicitly)
+ #if defined(_INTEGRAL_MAX_BITS)
+ #if _INTEGRAL_MAX_BITS >= 64
+ #define wxHAS_HUGE_FILES 1