Work around std::wstring not being defined on Android.
authorRobin Burchell <robin.burchell@collabora.co.uk>
Tue, 1 May 2012 18:35:31 +0000 (20:35 +0200)
committerQt by Nokia <qt-info@nokia.com>
Thu, 3 May 2012 14:11:58 +0000 (16:11 +0200)
libstdc++ requires wchar.h (which bionic provides), but it also requires
additional functionality which bionic does not provide, thus, std::wstring
proper basically doesn't exist.

Provide a compatibility shim so we can keep API intact. This feature existed in
a similar guise in the past, but was removed in
d868c9945a188d6ad22e0b7d6d24ac7fca00ab4e.

Change-Id: I6cab6f41d04ad9dde97e3ce73506f9d8a42043fb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
src/corelib/tools/qstring.h

index 5b6869d..3d0de55 100644 (file)
 
 #include <string>
 
+#if defined(Q_OS_LINUX_ANDROID)
+// std::wstring is disabled on android's glibc, as bionic lacks certain features
+// that libstdc++ checks for (like mbcslen).
+namespace std
+{
+    typedef basic_string<wchar_t> wstring;
+}
+#endif
+
 #include <stdarg.h>
 
 #ifdef truncate