-#if 0 // temporary - preserve binary compatibilty
-typedef char wxChar;
-typedef signed char wxSChar;
-typedef unsigned char wxUChar;
-#else
-#define wxChar char
-#define wxSChar signed char
-#define wxUChar unsigned char
-#endif
-
-#define _T(x) x
-
- // ctype.h functions
-#define wxIsalnum isalnum
-#define wxIsalpha isalpha
-#define wxIsctrl isctrl
-#define wxIsdigit isdigit
-#define wxIsgraph isgraph
-#define wxIslower islower
-#define wxIsprint isprint
-#define wxIspunct ispunct
-#define wxIsspace isspace
-#define wxIsupper isupper
-#define wxIsxdigit isxdigit
-#define wxTolower tolower
-#define wxToupper toupper
-
- // locale.h functons
-#define wxSetlocale setlocale
-
- // string.h functions
-#define wxStrcat strcat
-#define wxStrchr strchr
-#define wxStrcmp strcmp
-#define wxStrcoll strcoll
-#define wxStrcpy strcpy
-#define wxStrcspn strcspn
-#define wxStrdup strdup
-#define wxStrncat strncat
-#define wxStrncmp strncmp
-#define wxStrncpy strncpy
-#define wxStrpbrk strpbrk
-#define wxStrrchr strrchr
-#define wxStrspn strspn
-#define wxStrstr strstr
-#define wxStrtod strtod
-// #define wxStrtok strtok_r // this needs a configure check
-#define wxStrtol strtol
-#define wxStrtoul strtoul
-#define wxStrxfrm strxfrm
-
- // stdio.h functions
-#define wxFgetc fgetc
-#define wxFgetchar fgetchar
-#define wxFgets fgets
-#define wxFopen fopen
-#define wxFputc fputc
-#define wxFputchar fputchar
-#define wxFprintf fprintf
-#define wxFreopen freopen
-#define wxFscanf fscanf
-#define wxGetc getc
-#define wxGetchar getchar
-#define wxGets gets
-#define wxPerror perror
-#define wxPrintf printf
-#define wxPutc putc
-#define wxPutchar putchar
-#define wxPuts puts
-#define wxRemove remove
-#define wxRename rename
-#define wxScanf scanf
-#define wxSprintf sprintf
-#define wxSscanf sscanf
-#define wxTmpnam tmpnam
-#define wxUngetc ungetc
-#define wxVfprint vfprintf
-#define wxVprintf vprintf
-#define wxVsprintf vsprintf
-
- // stdlib.h functions
-#define wxAtof atof
-#define wxAtoi atoi
-#define wxAtol atol
-#define wxGetenv getenv
-#define wxSystem system
-
- // time.h functions
-#define wxAsctime asctime
-#define wxCtime ctime
-#define wxStrftime strftime
-
-#endif//Unicode
+// if we need to define for standard headers, and we're not using Unicode,
+// just define to standard C library routines
+#if !wxUSE_UNICODE
+# ifdef wxNEED_WX_STRING_H
+# define wxStrcat strcat
+# define wxStrchr strchr
+# define wxStrcmp strcmp
+# define wxStrcoll strcoll
+# define wxStrcpy strcpy
+# define wxStrcspn strcspn
+# define wxStrdup strdup
+# define wxStrlen_ strlen // used in wxStrlen inline function
+# define wxStrncat strncat
+# define wxStrncmp strncmp
+# define wxStrncpy strncpy
+# define wxStrpbrk strpbrk
+# define wxStrrchr strrchr
+# define wxStrspn strspn
+# define wxStrstr strstr
+# define wxStrtod strtod
+# define wxStrtol strtol
+# define wxStrtoul strtoul
+# define wxStrxfrm strxfrm
+# undef wxNEED_WX_STRING_H
+# endif
+
+# ifdef wxNEED_WX_STDIO_H
+# define wxFgetc fgetc
+# define wxFgetchar fgetchar
+# define wxFgets fgets
+# define wxFopen fopen
+# define wxFputc fputc
+# define wxFputchar fputchar
+# define wxFprintf fprintf
+# define wxFreopen freopen
+# define wxFscanf fscanf
+# define wxGetc getc
+# define wxGetchar getchar
+# define wxGets gets
+# define wxPerror perror
+# define wxPrintf printf
+# define wxPutc putc
+# define wxPutchar putchar
+# define wxPuts puts
+# define wxRemove remove
+# define wxRename rename
+# define wxScanf scanf
+# define wxSprintf sprintf
+# define wxSscanf sscanf
+# define wxTmpnam tmpnam
+# define wxUngetc ungetc
+# define wxVfprint vfprintf
+# define wxVprintf vprintf
+# define wxVsscanf vsscanf
+# define wxVsprintf vsprintf
+# undef wxNEED_WX_STDIO_H
+# endif
+
+# ifdef wxNEED_WX_STDLIB_H
+# define wxAtof atof
+# define wxAtoi atoi
+# define wxAtol atol
+# define wxGetenv getenv
+# define wxSystem system
+# undef wxNEED_WX_STDLIB_H
+# endif
+
+# ifdef wxNEED_WX_TIME_H
+# define wxAsctime asctime
+# define wxCtime ctime
+# define wxStrftime strftime
+# undef wxNEED_WX_TIME_H
+# endif
+#endif //!Unicode
+
+#if defined(wxNEED_WCSLEN) && wxUSE_UNICODE
+# define wcslen wxStrlen
+# undef wxNEED_WCSLEN