diff --git a/include/wx/wxcrt.h b/include/wx/wxcrt.h index 31bf3ceb70..fd4a6ec96c 100644 --- a/include/wx/wxcrt.h +++ b/include/wx/wxcrt.h @@ -814,13 +814,24 @@ WXDLLIMPEXP_BASE wxChar * wxStrtok(wxChar *psz, const wxChar *delim, wxChar **sa WXDLLIMPEXP_BASE double wxAtof(const wxChar *psz); #endif +/* + mingw32 doesn't provide _tsystem() even though it does provide all the other + stdlib.h functions wrappers so check for it separately: + */ +#if defined(__MINGW32__) && wxUSE_UNICODE && !defined(_tsystem) + #define wxNEED_WXSYSTEM +#endif + #ifdef wxNEED_WX_STDLIB_H WXDLLIMPEXP_BASE int wxAtoi(const wxChar *psz); WXDLLIMPEXP_BASE long wxAtol(const wxChar *psz); WXDLLIMPEXP_BASE wxChar * wxGetenv(const wxChar *name); -WXDLLIMPEXP_BASE int wxSystem(const wxChar *psz); +#define wxNEED_WXSYSTEM #endif +#ifdef wxNEED_WXSYSTEM +WXDLLIMPEXP_BASE int wxSystem(const wxChar *psz); +#endif /* time.h functions */ #ifdef wxNEED_WX_TIME_H diff --git a/src/common/wxcrt.cpp b/src/common/wxcrt.cpp index 17c7665992..56e6b9dad0 100644 --- a/src/common/wxcrt.cpp +++ b/src/common/wxcrt.cpp @@ -1327,12 +1327,14 @@ wxChar * WXDLLEXPORT wxGetenv(const wxChar *name) #endif } +#endif // wxNEED_WX_STDLIB_H + +#ifdef wxNEED_WXSYSTEM int WXDLLEXPORT wxSystem(const wxChar *psz) { return system(wxConvLibc.cWX2MB(psz)); } - -#endif // wxNEED_WX_STDLIB_H +#endif // wxNEED_WXSYSTEM #ifdef wxNEED_WX_TIME_H WXDLLEXPORT size_t