From: Vadim Zeitlin Date: Sun, 3 Jun 2007 23:00:41 +0000 (+0000) Subject: mingw32 doesn't define _tsystem so provide one ourselves (bug 1726904) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/c73cff0535951a1247efa54af37ceaf657787ab9 mingw32 doesn't define _tsystem so provide one ourselves (bug 1726904) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- 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