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