https://ssl.icu-project.org/trac/ticket/9286 https://ssl.icu-project.org/trac/ticket/9365 https://ssl.icu-project.org/trac/changeset/31780 https://ssl.icu-project.org/trac/changeset/31971 https://ssl.icu-project.org/trac/changeset/32020 https://ssl.icu-project.org/trac/changeset/32023 --- common/putilimp.h +++ common/putilimp.h @@ -117,6 +117,8 @@ # define U_TIMEZONE __timezone #elif U_PLATFORM_USES_ONLY_WIN32_API # define U_TIMEZONE _timezone +#elif U_PLATFORM == U_PF_BSD && !defined(__NetBSD__) + /* not defined */ #elif U_PLATFORM == U_PF_OS400 /* not defined */ #else --- common/unicode/platform.h +++ common/unicode/platform.h @@ -131,7 +131,7 @@ # include #elif defined(linux) || defined(__linux__) || defined(__linux) # define U_PLATFORM U_PF_LINUX -#elif defined(BSD) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +#elif defined(BSD) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__MirBSD__) # define U_PLATFORM U_PF_BSD #elif defined(sun) || defined(__sun) /* Check defined(__SVR4) || defined(__svr4__) to distinguish Solaris from SunOS? */ @@ -268,6 +268,9 @@ #elif U_PLATFORM == U_PF_SOLARIS /* Solaris has inttypes.h but not stdint.h. */ # define U_HAVE_STDINT_H 0 +#elif U_PLATFORM == U_PF_AIX && !defined(_AIX51) && defined(_POWER) + /* PPC AIX <= 4.3 has inttypes.h but not stdint.h. */ +# define U_HAVE_STDINT_H 0 #else # define U_HAVE_STDINT_H 1 #endif @@ -283,6 +286,9 @@ #elif U_PLATFORM == U_PF_SOLARIS /* Solaris has inttypes.h but not stdint.h. */ # define U_HAVE_INTTYPES_H 1 +#elif U_PLATFORM == U_PF_AIX && !defined(_AIX51) && defined(_POWER) + /* PPC AIX <= 4.3 has inttypes.h but not stdint.h. */ +# define U_HAVE_INTTYPES_H 1 #else /* Most platforms have both inttypes.h and stdint.h, or neither. */ # define U_HAVE_INTTYPES_H U_HAVE_STDINT_H @@ -352,6 +358,9 @@ #elif defined(_PA_RISC1_0) || defined(_PA_RISC1_1) || defined(_PA_RISC2_0) /* HPPA do not appear to predefine any endianness macros. */ # define U_IS_BIG_ENDIAN 1 +#elif defined(sparc) || defined(__sparc) || defined(__sparc__) + /* Some sparc based systems (e.g. Linux) do not predefine any endianness macros. */ +# define U_IS_BIG_ENDIAN 1 #else # define U_IS_BIG_ENDIAN 0 #endif