• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1--- common/unicode/pmac.h
2+++ common/unicode/pmac.h
3@@ -49,14 +49,20 @@
4 #define U_DARWIN
5 #endif
6
7+#include <AvailabilityMacros.h>
8+
9 /**
10  * \def U_HAVE_DIRENT_H
11  * Define whether dirent.h is available
12  * @internal
13  */
14 #ifndef U_HAVE_DIRENT_H
15+#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
16+#define U_HAVE_DIRENT_H 0
17+#else
18 #define U_HAVE_DIRENT_H 1
19 #endif
20+#endif
21
22 /** Define whether inttypes.h is available */
23 #ifndef U_HAVE_INTTYPES_H
24@@ -282,8 +288,10 @@
25 #if 1
26 #define U_TZSET         tzset
27 #endif
28-#if 1
29-#define U_TIMEZONE      timezone
30+#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
31+#define U_TIMEZONE 0
32+#else
33+#define U_TIMEZONE timezone
34 #endif
35 #if 1
36 #define U_TZNAME        tzname
37@@ -399,4 +407,18 @@
38
39 # endif
40 #endif
41+
42+/*===========================================================================*/
43+/* Local defines                                                             */
44+/*===========================================================================*/
45+
46+/* On the Mac, we define U_WCHAR_IS_UTF32 to treat wchar_t as though it
47+   contains UTF-32 at all times.  Strictly speaking, that's not entirely
48+   correct given Mac's libc (__STDC_ISO_10646__ is not defined) , but provided
49+   that we ignore libc's locale support (by not calling setlocale) and its
50+   multibyte string support, this should be fine.  Our codebase makes enough
51+   other assumptions about a UTF-8 locale and UTF-32 wchar_t strings for this
52+   to make sense. */
53+#define U_WCHAR_IS_UTF32
54+
55 #endif
56