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