summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-53.1-PATCHES
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-53.1-PATCHES')
-rw-r--r--Build/source/libs/icu/icu-53.1-PATCHES/ChangeLog7
-rw-r--r--Build/source/libs/icu/icu-53.1-PATCHES/patch-16-putil45
-rw-r--r--Build/source/libs/icu/icu-53.1-PATCHES/patch-17-cygwin-no-w32api464
3 files changed, 516 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-53.1-PATCHES/ChangeLog b/Build/source/libs/icu/icu-53.1-PATCHES/ChangeLog
index 7a73f91a90e..109695c5a05 100644
--- a/Build/source/libs/icu/icu-53.1-PATCHES/ChangeLog
+++ b/Build/source/libs/icu/icu-53.1-PATCHES/ChangeLog
@@ -1,3 +1,10 @@
+2014-03-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-16-putil (new): Build fix for Cygwin/MinGW with -ansi,
+ * patch-17-cygwin-no-w32api (new): Use Posix instead of Win32
+ API for Cygwin,
+ from Ken Brown <kbrow1i@gmail.com>.
+
2014-03-20 Peter Breitenlohner <peb@mppmu.mpg.de>
Imported icu-53.1 source tree (icu4c-53_rc-src.tgz) from:
diff --git a/Build/source/libs/icu/icu-53.1-PATCHES/patch-16-putil b/Build/source/libs/icu/icu-53.1-PATCHES/patch-16-putil
new file mode 100644
index 00000000000..98c69c4549b
--- /dev/null
+++ b/Build/source/libs/icu/icu-53.1-PATCHES/patch-16-putil
@@ -0,0 +1,45 @@
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/common/putil.cpp icu-53.1/source/common/putil.cpp
+--- icu-53.1.orig/source/common/putil.cpp 2014-03-19 19:53:20.000000000 +0100
++++ icu-53.1/source/common/putil.cpp 2014-03-22 11:05:40.000000000 +0100
+@@ -41,6 +41,20 @@
+ // Must be before any other #includes.
+ #include "uposixdefs.h"
+
++#if (U_PF_MINGW <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN) && defined(__STRICT_ANSI__)
++/* tzset isn't defined in strict ANSI on Cygwin and MinGW. */
++#undef __STRICT_ANSI__
++#endif
++
++/*
++ * Cygwin with GCC requires inclusion of time.h after the above disabling strict asci mode statement.
++ */
++#include <time.h>
++
++#if !U_PLATFORM_USES_ONLY_WIN32_API
++#include <sys/time.h>
++#endif
++
+ /* include ICU headers */
+ #include "unicode/utypes.h"
+ #include "unicode/putil.h"
+@@ -109,20 +123,6 @@
+ # include <sys/neutrino.h>
+ #endif
+
+-#if (U_PF_MINGW <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN) && defined(__STRICT_ANSI__)
+-/* tzset isn't defined in strict ANSI on Cygwin and MinGW. */
+-#undef __STRICT_ANSI__
+-#endif
+-
+-/*
+- * Cygwin with GCC requires inclusion of time.h after the above disabling strict asci mode statement.
+- */
+-#include <time.h>
+-
+-#if !U_PLATFORM_USES_ONLY_WIN32_API
+-#include <sys/time.h>
+-#endif
+-
+ /*
+ * Only include langinfo.h if we have a way to get the codeset. If we later
+ * depend on more feature, we can test on U_HAVE_NL_LANGINFO.
diff --git a/Build/source/libs/icu/icu-53.1-PATCHES/patch-17-cygwin-no-w32api b/Build/source/libs/icu/icu-53.1-PATCHES/patch-17-cygwin-no-w32api
new file mode 100644
index 00000000000..9e7352f973e
--- /dev/null
+++ b/Build/source/libs/icu/icu-53.1-PATCHES/patch-17-cygwin-no-w32api
@@ -0,0 +1,464 @@
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/common/putilimp.h icu-53.1/source/common/putilimp.h
+--- icu-53.1.orig/source/common/putilimp.h 2014-03-20 09:35:34.000000000 +0100
++++ icu-53.1/source/common/putilimp.h 2014-03-22 11:08:08.000000000 +0100
+@@ -144,7 +144,7 @@
+
+ #ifdef U_HAVE_MMAP
+ /* Use the predefined value. */
+-#elif U_PLATFORM_HAS_WIN32_API
++#elif U_PLATFORM_USES_ONLY_WIN32_API
+ # define U_HAVE_MMAP 0
+ #else
+ # define U_HAVE_MMAP 1
+@@ -167,7 +167,7 @@
+ */
+ #ifdef U_HAVE_DIRENT_H
+ /* Use the predefined value. */
+-#elif U_PLATFORM_HAS_WIN32_API
++#elif U_PLATFORM_USES_ONLY_WIN32_API
+ # define U_HAVE_DIRENT_H 0
+ #else
+ # define U_HAVE_DIRENT_H 1
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/common/umutex.cpp icu-53.1/source/common/umutex.cpp
+--- icu-53.1.orig/source/common/umutex.cpp 2014-03-19 19:53:22.000000000 +0100
++++ icu-53.1/source/common/umutex.cpp 2014-03-22 11:08:08.000000000 +0100
+@@ -38,7 +38,7 @@
+ // Build time user mutex hook: #include "U_USER_MUTEX_CPP"
+ #include U_MUTEX_XSTR(U_USER_MUTEX_CPP)
+
+-#elif U_PLATFORM_HAS_WIN32_API
++#elif U_PLATFORM_USES_ONLY_WIN32_API
+
+ //-------------------------------------------------------------------------------------------
+ //
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/common/umutex.h icu-53.1/source/common/umutex.h
+--- icu-53.1.orig/source/common/umutex.h 2014-03-19 19:53:18.000000000 +0100
++++ icu-53.1/source/common/umutex.h 2014-03-22 11:08:08.000000000 +0100
+@@ -73,7 +73,7 @@
+ }
+ U_NAMESPACE_END
+
+-#elif U_PLATFORM_HAS_WIN32_API
++#elif U_PLATFORM_USES_ONLY_WIN32_API
+
+ // MSVC compiler. Reads and writes of volatile variables have
+ // acquire and release memory semantics, respectively.
+@@ -290,7 +290,7 @@
+ // #inlcude "U_USER_MUTEX_H"
+ #include U_MUTEX_XSTR(U_USER_MUTEX_H)
+
+-#elif U_PLATFORM_HAS_WIN32_API
++#elif U_PLATFORM_USES_ONLY_WIN32_API
+
+ /* Windows Definitions.
+ * Windows comes first in the platform chain.
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/common/wintz.c icu-53.1/source/common/wintz.c
+--- icu-53.1.orig/source/common/wintz.c 2014-03-19 19:53:20.000000000 +0100
++++ icu-53.1/source/common/wintz.c 2014-03-22 11:08:08.000000000 +0100
+@@ -11,7 +11,7 @@
+
+ #include "unicode/utypes.h"
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+
+ #include "wintz.h"
+ #include "cmemory.h"
+@@ -364,4 +364,4 @@
+ return icuid;
+ }
+
+-#endif /* U_PLATFORM_HAS_WIN32_API */
++#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/common/wintz.h icu-53.1/source/common/wintz.h
+--- icu-53.1.orig/source/common/wintz.h 2014-03-19 19:53:20.000000000 +0100
++++ icu-53.1/source/common/wintz.h 2014-03-22 11:08:08.000000000 +0100
+@@ -14,7 +14,7 @@
+
+ #include "unicode/utypes.h"
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+
+ /**
+ * \file
+@@ -29,6 +29,6 @@
+ U_CFUNC const char* U_EXPORT2
+ uprv_detectWindowsTimeZone();
+
+-#endif /* U_PLATFORM_HAS_WIN32_API */
++#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
+
+ #endif /* __WINTZ */
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/i18n/datefmt.cpp icu-53.1/source/i18n/datefmt.cpp
+--- icu-53.1.orig/source/i18n/datefmt.cpp 2014-03-19 19:52:58.000000000 +0100
++++ icu-53.1/source/i18n/datefmt.cpp 2014-03-22 11:08:08.000000000 +0100
+@@ -355,7 +355,7 @@
+ DateFormat::create(EStyle timeStyle, EStyle dateStyle, const Locale& locale)
+ {
+ UErrorCode status = U_ZERO_ERROR;
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ char buffer[8];
+ int32_t count = locale.getKeywordValue("compat", buffer, sizeof(buffer), status);
+
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/i18n/windtfmt.cpp icu-53.1/source/i18n/windtfmt.cpp
+--- icu-53.1.orig/source/i18n/windtfmt.cpp 2014-03-19 19:53:00.000000000 +0100
++++ icu-53.1/source/i18n/windtfmt.cpp 2014-03-22 11:08:08.000000000 +0100
+@@ -11,7 +11,7 @@
+
+ #include "unicode/utypes.h"
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+
+ #if !UCONFIG_NO_FORMATTING
+
+@@ -318,5 +318,5 @@
+
+ #endif /* #if !UCONFIG_NO_FORMATTING */
+
+-#endif // U_PLATFORM_HAS_WIN32_API
++#endif // U_PLATFORM_USES_ONLY_WIN32_API
+
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/i18n/windtfmt.h icu-53.1/source/i18n/windtfmt.h
+--- icu-53.1.orig/source/i18n/windtfmt.h 2014-03-19 19:52:58.000000000 +0100
++++ icu-53.1/source/i18n/windtfmt.h 2014-03-22 11:08:08.000000000 +0100
+@@ -14,7 +14,7 @@
+
+ #include "unicode/utypes.h"
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+
+ #if !UCONFIG_NO_FORMATTING
+
+@@ -135,6 +135,6 @@
+
+ #endif /* #if !UCONFIG_NO_FORMATTING */
+
+-#endif // U_PLATFORM_HAS_WIN32_API
++#endif // U_PLATFORM_USES_ONLY_WIN32_API
+
+ #endif // __WINDTFMT
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/i18n/wintzimpl.cpp icu-53.1/source/i18n/wintzimpl.cpp
+--- icu-53.1.orig/source/i18n/wintzimpl.cpp 2014-03-19 19:53:00.000000000 +0100
++++ icu-53.1/source/i18n/wintzimpl.cpp 2014-03-22 11:08:08.000000000 +0100
+@@ -11,7 +11,7 @@
+
+ #include "unicode/utypes.h"
+
+-#if U_PLATFORM_HAS_WIN32_API && !UCONFIG_NO_FORMATTING
++#if U_PLATFORM_USES_ONLY_WIN32_API && !UCONFIG_NO_FORMATTING
+
+ #include "wintzimpl.h"
+
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/i18n/wintzimpl.h icu-53.1/source/i18n/wintzimpl.h
+--- icu-53.1.orig/source/i18n/wintzimpl.h 2014-03-19 19:52:58.000000000 +0100
++++ icu-53.1/source/i18n/wintzimpl.h 2014-03-22 11:08:08.000000000 +0100
+@@ -14,7 +14,7 @@
+
+ #include "unicode/utypes.h"
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ /**
+ * \file
+ * \brief C API: Utilities for dealing w/ Windows time zones.
+@@ -32,6 +32,6 @@
+ uprv_getWindowsTimeZoneInfo(TIME_ZONE_INFORMATION *zoneInfo, const UChar *icuid, int32_t length);
+
+
+-#endif /* U_PLATFORM_HAS_WIN32_API */
++#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
+
+ #endif /* __WINTZIMPL */
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/test/intltest/dtfmttst.cpp icu-53.1/source/test/intltest/dtfmttst.cpp
+--- icu-53.1.orig/source/test/intltest/dtfmttst.cpp 2014-03-19 19:52:12.000000000 +0100
++++ icu-53.1/source/test/intltest/dtfmttst.cpp 2014-03-22 11:08:08.000000000 +0100
+@@ -23,7 +23,7 @@
+ #include "caltest.h" // for fieldName
+ #include <stdio.h> // for sprintf
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ #include "windttst.h"
+ #endif
+
+@@ -2264,7 +2264,7 @@
+
+ void DateFormatTest::TestHost(void)
+ {
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ Win32DateTimeTest::testLocales(this);
+ #endif
+ }
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/test/intltest/uobjtest.cpp icu-53.1/source/test/intltest/uobjtest.cpp
+--- icu-53.1.orig/source/test/intltest/uobjtest.cpp 2014-03-19 19:52:14.000000000 +0100
++++ icu-53.1/source/test/intltest/uobjtest.cpp 2014-03-22 11:08:08.000000000 +0100
+@@ -382,13 +382,11 @@
+ TESTCLASSID_FACTORY(IndianCalendar, Calendar::createInstance(Locale("@calendar=indian"), status));
+ TESTCLASSID_FACTORY(ChineseCalendar, Calendar::createInstance(Locale("@calendar=chinese"), status));
+ TESTCLASSID_FACTORY(TaiwanCalendar, Calendar::createInstance(Locale("@calendar=roc"), status));
+-#if U_PLATFORM_HAS_WIN32_API
+- TESTCLASSID_FACTORY(Win32DateFormat, DateFormat::createDateInstance(DateFormat::kFull, Locale("@compat=host")));
+ #if U_PLATFORM_USES_ONLY_WIN32_API
++ TESTCLASSID_FACTORY(Win32DateFormat, DateFormat::createDateInstance(DateFormat::kFull, Locale("@compat=host")));
+ TESTCLASSID_FACTORY(Win32NumberFormat, NumberFormat::createInstance(Locale("@compat=host"), status));
+ #endif
+ #endif
+-#endif
+
+ #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILE_IO
+ /* TESTCLASSID_ABSTRACT(BreakIterator); No staticID! */
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/test/intltest/windttst.cpp icu-53.1/source/test/intltest/windttst.cpp
+--- icu-53.1.orig/source/test/intltest/windttst.cpp 2014-03-19 19:52:14.000000000 +0100
++++ icu-53.1/source/test/intltest/windttst.cpp 2014-03-22 11:08:08.000000000 +0100
+@@ -11,7 +11,7 @@
+
+ #include "unicode/utypes.h"
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+
+ #if !UCONFIG_NO_FORMATTING
+
+@@ -193,4 +193,4 @@
+
+ #endif /* #if !UCONFIG_NO_FORMATTING */
+
+-#endif /* U_PLATFORM_HAS_WIN32_API */
++#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/test/intltest/windttst.h icu-53.1/source/test/intltest/windttst.h
+--- icu-53.1.orig/source/test/intltest/windttst.h 2014-03-19 19:52:08.000000000 +0100
++++ icu-53.1/source/test/intltest/windttst.h 2014-03-22 11:08:08.000000000 +0100
+@@ -14,7 +14,7 @@
+
+ #include "unicode/utypes.h"
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+
+ #if !UCONFIG_NO_FORMATTING
+
+@@ -36,6 +36,6 @@
+
+ #endif /* #if !UCONFIG_NO_FORMATTING */
+
+-#endif // U_PLATFORM_HAS_WIN32_API
++#endif // U_PLATFORM_USES_ONLY_WIN32_API
+
+ #endif // __WINDTTST
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/test/intltest/winutil.cpp icu-53.1/source/test/intltest/winutil.cpp
+--- icu-53.1.orig/source/test/intltest/winutil.cpp 2014-03-19 19:52:08.000000000 +0100
++++ icu-53.1/source/test/intltest/winutil.cpp 2014-03-22 11:08:08.000000000 +0100
+@@ -11,7 +11,7 @@
+
+ #include "unicode/utypes.h"
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+
+ #if !UCONFIG_NO_FORMATTING
+
+@@ -92,4 +92,4 @@
+
+ #endif /* #if !UCONFIG_NO_FORMATTING */
+
+-#endif /* U_PLATFORM_HAS_WIN32_API */
++#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/test/intltest/winutil.h icu-53.1/source/test/intltest/winutil.h
+--- icu-53.1.orig/source/test/intltest/winutil.h 2014-03-19 19:52:08.000000000 +0100
++++ icu-53.1/source/test/intltest/winutil.h 2014-03-22 11:08:08.000000000 +0100
+@@ -14,7 +14,7 @@
+
+ #include "unicode/utypes.h"
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+
+ #if !UCONFIG_NO_FORMATTING
+
+@@ -41,6 +41,6 @@
+
+ #endif /* #if !UCONFIG_NO_FORMATTING */
+
+-#endif // U_PLATFORM_HAS_WIN32_API
++#endif // U_PLATFORM_USES_ONLY_WIN32_API
+
+ #endif // __WINUTIL
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/test/perf/collperf/collperf.cpp icu-53.1/source/test/perf/collperf/collperf.cpp
+--- icu-53.1.orig/source/test/perf/collperf/collperf.cpp 2014-03-19 19:52:34.000000000 +0100
++++ icu-53.1/source/test/perf/collperf/collperf.cpp 2014-03-22 11:08:08.000000000 +0100
+@@ -112,7 +112,7 @@
+ ucol_getSortKey(col, data[i].icu_data, data[i].icu_data_len, icu_key, MAX_KEY_LENGTH);
+ }
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ // pre-generated in CollPerfTest::prepareData(), need not to check error here
+ void win_key_null(int32_t i){
+ //LCMAP_SORTsk 0x00000400 // WC sort sk (normalize)
+@@ -294,7 +294,7 @@
+ return strcmp((char *) da->icu_key, (char *) db->icu_key);
+ }
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ static int win_cmp_null(const void *a, const void *b) {
+ QCAST();
+ //CSTR_LESS_THAN 1
+@@ -329,7 +329,7 @@
+
+ QFUNC(posix_strcoll_null, strcoll, posix_data)
+ QFUNC(posix_cmpkey, strcmp, posix_key)
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ QFUNC(win_cmpkey, strcmp, win_key)
+ QFUNC(win_wcscmp, wcscmp, win_data)
+ #endif
+@@ -449,7 +449,7 @@
+ return strcmp( (char *) rnd[i].icu_key, (char *) ord[j].icu_key );
+ }
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ int win_cmp_null(int32_t i, int32_t j) {
+ int t = CompareStringW(win_langid, 0, rnd[i].win_data, -1, ord[j].win_data, -1);
+ if (t == 0){
+@@ -586,7 +586,7 @@
+ locale = "en_US"; // set default locale
+ }
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ if (options[i].doesOccur) {
+ char *endp;
+ int tmp = strtol(options[i].value, &endp, 0);
+@@ -686,7 +686,7 @@
+ TEST_KEYGEN(TestIcu_KeyGen_null, icu_key_null);
+ TEST_KEYGEN(TestIcu_KeyGen_len, icu_key_len);
+ TEST_KEYGEN(TestPosix_KeyGen_null, posix_key_null);
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ TEST_KEYGEN(TestWin_KeyGen_null, win_key_null);
+ TEST_KEYGEN(TestWin_KeyGen_len, win_key_len);
+ #endif
+@@ -712,7 +712,7 @@
+ TEST_QSORT(TestIcu_qsort_usekey, icu_cmpkey);
+ TEST_QSORT(TestPosix_qsort_strcoll_null, posix_strcoll_null);
+ TEST_QSORT(TestPosix_qsort_usekey, posix_cmpkey);
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ TEST_QSORT(TestWin_qsort_CompareStringW_null, win_cmp_null);
+ TEST_QSORT(TestWin_qsort_CompareStringW_len, win_cmp_len);
+ TEST_QSORT(TestWin_qsort_usekey, win_cmpkey);
+@@ -727,7 +727,7 @@
+ TEST_BIN(TestIcu_BinarySearch_cmpCPO, icu_cmpcpo);
+ TEST_BIN(TestPosix_BinarySearch_strcoll_null, posix_strcoll_null);
+ TEST_BIN(TestPosix_BinarySearch_usekey, posix_cmpkey);
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ TEST_BIN(TestWin_BinarySearch_CompareStringW_null, win_cmp_null);
+ TEST_BIN(TestWin_BinarySearch_CompareStringW_len, win_cmp_len);
+ #endif
+@@ -827,7 +827,7 @@
+ t = strxfrm(posix_key->last(), posix_data->dataOf(i), s);
+ if (t != s) {status = U_INVALID_FORMAT_ERROR;return;}
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ // Win data
+ s = icu_data->lengthOf(i) + 1; // plus terminal NULL
+ win_data->append_one(s);
+@@ -850,7 +850,7 @@
+ rnd_index[i].posix_key = posix_key->last();
+ rnd_index[i].posix_data = posix_data->dataOf(i);
+ rnd_index[i].posix_data_len = posix_data->lengthOf(i);
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ rnd_index[i].win_key = win_key->dataOf(i);
+ rnd_index[i].win_data = win_data->dataOf(i);
+ rnd_index[i].win_data_len = win_data->lengthOf(i);
+@@ -869,7 +869,7 @@
+ SORT(ord_icu_key, icu_cmpkey);
+ SORT(ord_posix_data, posix_strcoll_null);
+ SORT(ord_posix_key, posix_cmpkey);
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ SORT(ord_win_data, win_cmp_len);
+ SORT(ord_win_key, win_cmpkey);
+ SORT(ord_win_wcscmp, win_wcscmp);
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/test/perf/normperf/normperf.h icu-53.1/source/test/perf/normperf/normperf.h
+--- icu-53.1.orig/source/test/perf/normperf/normperf.h 2014-03-19 19:52:32.000000000 +0100
++++ icu-53.1/source/test/perf/normperf/normperf.h 2014-03-22 11:08:08.000000000 +0100
+@@ -315,7 +315,7 @@
+ }
+ #endif
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+
+ int32_t WinNormNFD(const UChar* src, int32_t srcLen, UChar* dest, int32_t dstLen, int32_t options, UErrorCode* status) {
+ return FoldStringW(MAP_COMPOSITE,src,srcLen,dest,dstLen);
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/tools/ctestfw/unicode/utimer.h icu-53.1/source/tools/ctestfw/unicode/utimer.h
+--- icu-53.1.orig/source/tools/ctestfw/unicode/utimer.h 2014-03-19 19:53:26.000000000 +0100
++++ icu-53.1/source/tools/ctestfw/unicode/utimer.h 2014-03-22 11:08:08.000000000 +0100
+@@ -10,7 +10,7 @@
+
+ #include "unicode/utypes.h"
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ # define VC_EXTRALEAN
+ # define WIN32_LEAN_AND_MEAN
+ # include <windows.h>
+@@ -160,7 +160,7 @@
+ typedef void FuntionToBeTimed(void* param);
+
+
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+
+ struct UTimer{
+ LARGE_INTEGER start;
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/tools/gendict/gendict.cpp icu-53.1/source/tools/gendict/gendict.cpp
+--- icu-53.1.orig/source/tools/gendict/gendict.cpp 2014-03-19 19:53:34.000000000 +0100
++++ icu-53.1/source/tools/gendict/gendict.cpp 2014-03-22 11:08:08.000000000 +0100
+@@ -43,7 +43,7 @@
+ return (int)uprv_floor((uprv_getRawUTCtime()-startTime)/1000.0);
+ }
+
+-#if U_PLATFORM_IMPLEMENTS_POSIX && !U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_IMPLEMENTS_POSIX && !U_PLATFORM_USES_ONLY_WIN32_API
+
+ #include <signal.h>
+ #include <unistd.h>
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/tools/genrb/derb.c icu-53.1/source/tools/genrb/derb.c
+--- icu-53.1.orig/source/tools/genrb/derb.c 2014-03-19 19:53:30.000000000 +0100
++++ icu-53.1/source/tools/genrb/derb.c 2014-03-22 11:08:08.000000000 +0100
+@@ -209,7 +209,7 @@
+
+ if (!(fromICUData = !uprv_strcmp(inputDir, "-"))) {
+ UBool absfilename = *arg == U_FILE_SEP_CHAR;
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_HAS_WIN32_API && U_PLATFORM != U_PF_CYGWIN
+ if (!absfilename) {
+ absfilename = (uprv_strlen(arg) > 2 && isalpha(arg[0])
+ && arg[1] == ':' && arg[2] == U_FILE_SEP_CHAR);
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-53.1.orig/source/tools/toolutil/udbgutil.cpp icu-53.1/source/tools/toolutil/udbgutil.cpp
+--- icu-53.1.orig/source/tools/toolutil/udbgutil.cpp 2014-03-19 19:53:34.000000000 +0100
++++ icu-53.1/source/tools/toolutil/udbgutil.cpp 2014-03-22 11:08:08.000000000 +0100
+@@ -340,8 +340,10 @@
+ */
+ U_CAPI const char *udbg_getPlatform(void)
+ {
+-#if U_PLATFORM_HAS_WIN32_API
++#if U_PLATFORM_USES_ONLY_WIN32_API
+ return "Windows";
++#elif U_PLATFORM == U_PF_CYGWIN
++ return "Cygwin";
+ #elif U_PLATFORM == U_PF_UNKNOWN
+ return "unknown";
+ #elif U_PLATFORM == U_PF_DARWIN