+ // stdio.h functions
+# define wxFgetc _fgettc
+# define wxFgets _fgetts
+# define wxFputc _fputtc
+# define wxFprintf _ftprintf
+# define wxFscanf _ftscanf
+# define wxGetc _gettc
+# define wxGetchar _gettchar
+# define wxPrintf _tprintf
+# define wxPutc _puttc
+# define wxPutchar _puttchar
+# define wxScanf _tscanf
+# define wxSprintf _stprintf
+# define wxSscanf _stscanf
+# define wxVfprint _vftprintf
+# define wxVprintf _vtprintf
+# define wxVsprintf _vstprintf
+// not defined in tchar.h
+# define wxFgetchar fgetchar
+# define wxFopen fopen
+# define wxFputchar fputchar
+# define wxFreopen freopen
+# define wxGets gets
+# define wxPerror perror
+# define wxPuts puts
+# define wxRemove remove
+# define wxRename rename
+# define wxTmpnam tmpnam
+# define wxUngetc ungetc
+# define wxVsscanf vsscanf
+
+ // stdlib.h functions -- none defined in tchar.h
+# if !wxUSE_UNICODE
+# define wxAtof atof
+# endif
+# define wxAtoi atoi
+# define wxAtol atol
+# define wxGetenv getenv
+# define wxSystem system
+
+ // time.h functions -- none defined in tchar.h
+# define wxAsctime asctime
+# define wxCtime ctime
+
+// #elif defined(XXX)
+ // #include XXX-specific files here
+ // typeddef YYY wxChar;
+
+ // translate wxZZZ names
+
+#else//!TCHAR-aware compilers
+
+// check whether we should include wchar.h or equivalent
+# if wxUSE_UNICODE
+# undef wxUSE_WCHAR_T
+# define wxUSE_WCHAR_T 1 // wchar_t *must* be available in Unicode mode
+# elif !defined(wxUSE_WCHAR_T)
+# if defined(__VISUALC__) && (__VISUALC__ < 900)
+# define wxUSE_WCHAR_T 0 // wchar_t is not available for MSVC++ 1.5
+# elif defined(__UNIX__)
+# if defined(HAVE_WCSTR_H) || defined(HAVE_WCHAR_H) || defined(__FreeBSD__)
+# define wxUSE_WCHAR_T 1
+# else
+# define wxUSE_WCHAR_T 0
+# endif
+# elif defined(__GNUWIN32__) && !defined(__MINGW32__) // Cygwin (not Mingw32) doesn't have wcslen.h, needed in buffer.h
+# define wxUSE_WCHAR_T 0
+# elif defined(__BORLANDC__) // WIN16 BC++
+# define wxUSE_WCHAR_T 0
+# elif defined(__WATCOMC__)
+# define wxUSE_WCHAR_T 0
+# else
+ // add additional compiler checks if this fails
+# define wxUSE_WCHAR_T 1
+# endif
+# endif//wxUSE_UNICODE
+
+# if wxUSE_WCHAR_T
+# ifdef HAVE_WCSTR_H
+# include <wcstr.h>
+# else
+# ifndef __FreeBSD__
+# include <wchar.h>
+# else
+# include <stdlib.h>
+# define wxNEED_WCSLEN
+# endif
+# endif
+# endif