]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/wxchar.h
added wxEncodingToCodepage() and implemented it properly (using in32 API instead...
[wxWidgets.git] / include / wx / wxchar.h
index cb07176438d577cb594f7b76e49ef5e996e3086f..072e4cdf28506c8de47151df4036f5c955855073 100644 (file)
         #define wxHAVE_TCHAR_FUNCTIONS
     #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x520)
         #define wxHAVE_TCHAR_FUNCTIONS
         #define wxHAVE_TCHAR_FUNCTIONS
     #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x520)
         #define wxHAVE_TCHAR_FUNCTIONS
-    #elif defined(__GNUWIN32__) && wxCHECK_W32API_VERSION( 1, 0 )
+    #elif defined(__MINGW32__) && wxCHECK_W32API_VERSION( 1, 0 )
         #define wxHAVE_TCHAR_FUNCTIONS
         #include <stddef.h>
         #include <string.h>
         #include <ctype.h>
         #define wxHAVE_TCHAR_FUNCTIONS
         #include <stddef.h>
         #include <string.h>
         #include <ctype.h>
+    #elif defined(__CYGWIN__)
+        #include <stddef.h>
+        #include <wchar.h>
     #endif
 #elif defined(__VISAGECPP__) && (__IBMCPP__ >= 400)
     // VisualAge 4.0+ supports TCHAR
     #endif
 #elif defined(__VISAGECPP__) && (__IBMCPP__ >= 400)
     // VisualAge 4.0+ supports TCHAR
     // time.h functions  -- none defined in tchar.h
     #define  wxAsctime   asctime
     #define  wxCtime     ctime
     // time.h functions  -- none defined in tchar.h
     #define  wxAsctime   asctime
     #define  wxCtime     ctime
+#elif defined(__MWERKS__)
+    // for wcslen
+    #if wxUSE_WCHAR_T
+    #include <wchar.h>
+    #endif
 #endif // compilers with (good) TCHAR support
 
 #ifdef wxHAVE_TCHAR_FUNCTIONS
 #endif // compilers with (good) TCHAR support
 
 #ifdef wxHAVE_TCHAR_FUNCTIONS
@@ -265,7 +273,7 @@ typedef  _TUCHAR     wxUChar;
 #    if defined(__VISUALC__) && (__VISUALC__ < 900)
 #      define wxUSE_WCHAR_T 0 // wchar_t is not available for MSVC++ 1.5
 #    elif defined(__UNIX__)
 #    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__) || (defined(__DARWIN__))
+#      if defined(HAVE_WCSTR_H) || defined(HAVE_WCHAR_H) || defined(__FreeBSD__) || defined(__DARWIN__)
 #        define wxUSE_WCHAR_T 1
 #      else
 #        define wxUSE_WCHAR_T 0
 #        define wxUSE_WCHAR_T 1
 #      else
 #        define wxUSE_WCHAR_T 0
@@ -276,8 +284,8 @@ typedef  _TUCHAR     wxUChar;
 #      define wxUSE_WCHAR_T 0
 #    elif defined(__WATCOMC__)
 #      define wxUSE_WCHAR_T 0
 #      define wxUSE_WCHAR_T 0
 #    elif defined(__WATCOMC__)
 #      define wxUSE_WCHAR_T 0
-#    elif defined(__VISAGECPP__) && (__IBMCPP__ >= 400)
-#      define wxUSE_WCHAR_T 1
+#    elif defined(__VISAGECPP__) && (__IBMCPP__ < 400)
+#      define wxUSE_WCHAR_T 0
 #    else
   // add additional compiler checks if this fails
 #      define wxUSE_WCHAR_T 1
 #    else
   // add additional compiler checks if this fails
 #      define wxUSE_WCHAR_T 1
@@ -288,12 +296,17 @@ typedef  _TUCHAR     wxUChar;
 #    ifdef HAVE_WCSTR_H
 #      include <wcstr.h>
 #    else
 #    ifdef HAVE_WCSTR_H
 #      include <wcstr.h>
 #    else
-       // VZ: do we really have to include this?
-#      include <stdlib.h>
-
-       // include wchar.h to get wcslen() declaration used by wx/buffer.h
 #      if defined(HAVE_WCHAR_H)
 #      if defined(HAVE_WCHAR_H)
+
+// include wchar.h to get wcslen() declaration used by wx/buffer.h
 #        include <wchar.h>
 #        include <wchar.h>
+
+#      elif defined(__FreeBSD__) || defined(__DARWIN__)
+
+// include stdlib.h for wchar_t, wcslen is provided in wxchar.cpp
+#        include <stdlib.h>
+size_t   WXDLLEXPORT wcslen(const wchar_t *s);
+
 #      endif
 #    endif
 #  endif
 #      endif
 #    endif
 #  endif