summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-54.1-PATCHES
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2014-09-18 09:45:34 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2014-09-18 09:45:34 +0000
commit4efeaac2183eaaf29d2eaf7274a58d73bf33231f (patch)
tree7074c1702e572366dfeecf1736ca3aaf6de08a71 /Build/source/libs/icu/icu-54.1-PATCHES
parent1eef9fd199ea4cccde89a63d40fdedda9802c20e (diff)
icu 53.1 (release candidate)
git-svn-id: svn://tug.org/texlive/trunk@35191 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/icu/icu-54.1-PATCHES')
-rw-r--r--Build/source/libs/icu/icu-54.1-PATCHES/ChangeLog439
-rw-r--r--Build/source/libs/icu/icu-54.1-PATCHES/TL-Changes19
-rw-r--r--Build/source/libs/icu/icu-54.1-PATCHES/patch-03-gcc-atomic14
-rw-r--r--Build/source/libs/icu/icu-54.1-PATCHES/patch-12-mingw64
-rw-r--r--Build/source/libs/icu/icu-54.1-PATCHES/patch-13-STATIC_PREFIX31
-rw-r--r--Build/source/libs/icu/icu-54.1-PATCHES/patch-14-xopen21
-rw-r--r--Build/source/libs/icu/icu-54.1-PATCHES/patch-16-putil45
-rw-r--r--Build/source/libs/icu/icu-54.1-PATCHES/patch-17-cygwin-no-w32api464
8 files changed, 1097 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-54.1-PATCHES/ChangeLog b/Build/source/libs/icu/icu-54.1-PATCHES/ChangeLog
new file mode 100644
index 00000000000..c7a75f295f6
--- /dev/null
+++ b/Build/source/libs/icu/icu-54.1-PATCHES/ChangeLog
@@ -0,0 +1,439 @@
+2014-09-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-54.1 source tree (icu4c-54_rc-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/54rc/
+
+ * patch-11-cygwin64, patch-15-solaris,
+ patch-18-solaris-depend (removed): Included upstream.
+
+ * patch-03-gcc-atomic, patch-12-mingw,
+ patch-13-STATIC_PREFIX, patch-14-xopen, patch-16-putil,
+ patch-17-cygwin-no-w32api: Adapted.
+
+2014-05-14 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-18-solaris-depend (new): Minor build fix for solaris,
+ dependencies for C files require $(CFLAGS), i.e., -std=c99.
+
+2014-04-03 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Updated icu-53.1 source tree (icu4c-53_1-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/53.1/
+
+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:
+ http://download.icu-project.org/files/icu4c/53rc/
+
+ * patch-04-Windows2000 (removed): Drop Windows2000 support.
+ * patch-08-avoid-rebuild (removed): Included upstream.
+
+ * patch-03-gcc-atomic, patch-11-cygwin64, patch-12-mingw,
+ patch-13-STATIC_PREFIX, patch-14-xopen: Adapted.
+
+ * patch-15-solaris (new): Build fix for Solaris, from
+ http://bugs.icu-project.org/trac/ticket/10580
+
+2014-02-21 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-11-cygwin64 (new): Enable Cygwin64 (from Cygwin64 port).
+
+2013-10-10 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Updated icu-52.1 source tree (icu4c-52_1-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/52.1/
+
+2013-09-26 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-52.1 source tree (icu4c-52_rc2-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/52rc/
+
+ * patch-03-gcc-atomic, patch-04-Windows2000,
+ patch-08-avoid-rebuild, patch-12-mingw, patch-13-STATIC_PREFIX,
+ patch-14-xopen: Adapted.
+
+2013-04-02 Karl Berry <karl@tug.org>
+
+ * patch-14-xopen: do not define _XOPEN_SOURCE_EXTENDED on Solaris,
+ notwithstanding comments in icu source.
+ From Apostolos, tlbuild 27 Mar 2013 15:52:26 (and Ettore, later).
+
+2013-03-21 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Updated icu-51.1 source tree (icu4c-51_1-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/51.1/
+
+2013-03-14 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-08-avoid-rebuild: Really avoid to run pkgdata again.
+
+2013-03-07 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-51.1 source tree (icu4c-51_rc-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/51rc/
+
+ * patch-11-CURR_FULL_DIR, patch-14-mingw-cross,
+ patch-83-zonemeta-bugfix, patch-84-c++11-bugfix (removed):
+ Now in icu-51.1.
+ * patch-{40,50,60,70,82}-* (removed): Obsolete, layout not used.
+ * patch-02-kFreeBSD (removed): Not needed.
+
+ * patch-03-gcc-atomic, patch-04-Windows2000,
+ patch-08-avoid-rebuild, patch-12-mingw, patch-13-STATIC_PREFIX:
+ Adapted.
+
+2012-11-29 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-04-Windows2000 (new): From Akira.
+
+2012-11-16 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-84-c++11-bugfix (new): Required for gcc-4.7.
+ From http://bugs.icu-project.org/trac/ticket/9728.
+
+2012-11-06 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Updated icu-50.1 source tree (icu4c-50_1-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/50.1/
+
+ * patch-83-zonemeta-bugfix (new): Required for MinGW.
+
+2012-10-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-50.1 source tree (icu4c-50_rc-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/50rc/
+
+ * patch-01-Cygwin, patch-02-FreeBSD (removed): Now in icu-50.1.
+ * patch-14-GENCCODE_ASSEMBLY (removed): Obsolete.
+
+ * patch-{08,11,12,13,40,50,60,70,82}-*:Adapted.
+
+ * patch-02-kFreeBSD (new): Use Posix conform timezone decl.
+ * patch-03-gcc-atomic (new): Required for gcc-4.4.
+ * patch-14-mingw-cross (new): Required for linux->MinGW32 cross.
+
+2012-06-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-82-Indic-bugfix (new): Revert ICU SVN commit 26090.
+
+2012-06-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-49.1.2 source tree (icu4c-49_1_2-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/49.1.2/
+
+ * patch-07-configure-utf16-string, patch-09-generated (removed):
+ Obsolete.
+
+ * patch-{01,02,08,11,12,13,14,40,50,60,70}-*: Adapted.
+
+2012-04-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-02-FreeBSD (new): Build fix for FreeBSD.
+ Reported by Nikola Lecic <nikola.lecic@anthesphoria.net>
+
+2012-04-18 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-49.1.1 source tree (icu4c-49_1_1-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/49.1.1/
+
+ * patch-05-m4-quoting: Removed, now in icu-49.1.1.
+
+ * patch-{01,07,08,09,11,12,13,14,40,50,60,70}-*: Adapted.
+
+2012-03-23 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-01-Cygwin (new): Build fix for Cygwin.
+ Reported by Ken Brown <kbrow1i@gmail.com>.
+
+2012-03-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Updated icu-49.1 source tree (icu4c-49_1-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/49.1/
+
+ * patch-{01,02,03,04}-*: Removed, now in icu-49.1.
+
+ * patch-{05,07,08,09,11,12,13,14,40,50,60,70}-*: Adapted.
+
+2012-03-21 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-05-m4-quoting (new): Correct m4 quoting in configure.in.
+
+2012-03-17 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-04-FreeBSD (new): From ICU.
+
+2012-03-15 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-40-auxParam: Fix a typo (auxillary => auxiliary).
+ * patch-70-Arabic: Remove useless changes of original code.
+
+2012-03-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-03-U_PF_UNKNOWN (new): Bug fix for the case that
+ U_PLATFORM == U_PF_UNKNOWN as, e.g., for FreeBSD (why?).
+ Reported by Hilmar Preusse <hille42@web.de>.
+
+2012-03-03 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-49.1 source tree (icu4c-49_rc-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/49rc/
+
+ * patch-40-LESwaps, patch-81-Indic: Removed, now in icu-49.1.
+
+ * patch-01-UVoidFunction (new): Bug fix for '--disable-dyload'.
+ * patch-02-AC_CHECK_TOOL (new): Bug fix for cross compilation.
+
+ * TL-Changes, patch-07-configure-utf16-string,
+ patch-08-avoid-rebuild, patch-09-generated,
+ patch-11-CURR_FULL_DIR, patch-12-mingw, patch-13-STATIC_PREFIX,
+ patch-14-GENCCODE_ASSEMBLY, patch-50-Vertical, patch-60-KernPair,
+ patch-70-Arabic: Adapted.
+ * patch-05-auxParam (removed): Renamed ...
+ * patch-40-auxParam (new): ... to this and adapted.
+
+2011-08-31 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-40-LESwaps: See ICU Ticket #8657, comment 11.
+
+2011-08-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-4.8.1 source tree (icu4c-4_8_1-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/4.8.1/
+
+ * patch-06-mingw: Removed, included in icu-4.8.1.
+
+ * TL-Changes, patch-05-auxParam,
+ patch-07-configure-utf16-string, patch-08-avoid-rebuild,
+ patch-09-generated, patch-11-CURR_FULL_DIR, patch-12-mingw,
+ patch-13-STATIC_PREFIX, patch-14-GENCCODE_ASSEMBLY,
+ patch-50-Vertical, patch-60-KernPair, patch-70-Arabic,
+ patch-81-Indic: Adapted.
+
+ * patch-40-LESwaps: Rewritten, see ICU Ticket #8657, comment 7.
+
+2011-06-19 Karl Berry <karl@tug.org>
+
+ * patch-40-LESwaps: revert to ICU 4.4, as 4.6 and 4.8 code
+ is broken on BigEndian machines.
+ http://bugs.icu-project.org/trac/ticket/8657
+ tlbuild mail, 17 Jun 2011 17:10:38
+
+2011-05-26 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-4.8 source tree (icu4c-4_8-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/4.8/
+
+ * patch-80-Indic: Removed (not needed).
+
+ * TL-Changes, patch-05-auxParam, patch-06-mingw,
+ patch-07-configure-utf16-string, patch-08-avoid-rebuild,
+ patch-09-generated, patch-11-CURR_FULL_DIR, patch-12-mingw,
+ patch-13-STATIC_PREFIX, patch-14-GENCCODE_ASSEMBLY,
+ patch-50-Vertical, patch-60-KernPair, patch-70-Arabic,
+ patch-81-Indic: Adapted.
+
+2011-05-11 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-14-GENCCODE_ASSEMBLY (new): For amd64-kfreebsd.
+
+2011-05-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-13-STATIC_PREFIX (new): Never use libsicuxxx.a.
+
+2011-02-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-81-Indic (new): IndicReordering.*: Respect array bounds.
+
+ * patch-05-auxParam: Fix a bug introduced when importing icu-4.6.
+
+2010-12-07 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-11-CURR_FULL_DIR: Correctly handle CURR_FULL_DIR when
+ cross compiling.
+
+2010-12-02 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-4.6 source tree (icu4c-4_6-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/4.6/
+
+ * patch-10-cross-TOOLEXEEXT, patch-13-remove-extra-token:
+ All removed, included in icu-4.6.
+
+ * TL-Changes, patch-05-auxParam, patch-07-configure-utf16-string,
+ patch-08-avoid-rebuild, patch-11-CURR_FULL_DIR, patch-12-mingw,
+ patch-50-Vertical, patch-60-KernPair, patch-70-Arabic,
+ patch-80-Indic: Adapted.
+
+ * patch-06-mingw (new): MinGW32 is Windows, not Cygwin.
+ * patch-09-generated (new): Regenerate configure.
+
+2010-04-08 Karl Berry <karl@tug.org>
+
+ * patch-07-configure-utf16-string: new patch so we can disable the
+ check for UTF16 string literals. See comments in our
+ libs/icu/configure.ac.
+
+2010-03-31 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-4.4 source tree (icu4c-4_4-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/4.4/
+
+ * fix-case-insensitive, patch-07-cygwin, patch-09-cross,
+ patch-20-fix-gt_ge, patch-21-fix-not_aligned,
+ patch-22-fix-JK-adjust_for_marks, patch-23-fix-JK-GlyphPos:
+ All removed, included in icu-4.4.
+
+ * TL-Changes, patch-05-auxParam, patch-08-avoid-rebuild,
+ patch-10-cross-TOOLEXEEXT, patch-11-CURR_FULL_DIR,
+ patch-12-mingw, patch-50-Vertical, patch-60-KernPair,
+ patch-70-Arabic, patch-80-Indic: Adapted.
+
+ * patch-13-remove-extra-token (new): Avoid compiler warning.
+
+2010-02-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Fixes for Linux => MinGW32 cross compilation.
+ * patch-10-cross-TOOLEXEEXT (new): Fix a cross compilation typo.
+ * patch-11-CURR_FULL_DIR (new): Fix for cross compilation on
+ a Unix like system. Does MinGW32 have pwd?
+ * patch-12-mingw (new): Changes in config/mh-mingw (libraries
+ named as for everyone else).
+
+2009-10-28 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-09-cross (new): Modify AC_CHECK_64BIT_LIBS in aclocal.m4
+ to allow cross compilation.
+
+2009-10-26 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-08-avoid-rebuild (new): Modify data/Makefile.in such
+ that libsicudata.a is not rebuilt again and again.
+
+2009-10-25 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-4.2.1 source tree (icu4c-4_2_1-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/4.2.1/
+
+ * patch-02-syntax, patch-40-Shaping (both removed): Obsolete.
+
+ * TL-Changes, patch-80-Indic: Adapted.
+
+2009-10-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-4.0.1 source tree (icu4c-4_0_1-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/4.0.1/
+
+ * patch-01-backport-4.0.1, patch-01-too_much-4.0.1,
+ patch-06-build-fix, patch-06-partial-4.0.1,
+ patch-10-backport-4.0.1, patch-11-partial-4.0.1,
+ patch-99-test (all removed): Obsolete.
+
+ * TL-Changes, patch-40-Shaping, patch-80-Indic: Adapted.
+
+2009-10-23 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported icu-3.8.1 source tree (icu4c-3_8_1-src.tgz) from:
+ http://download.icu-project.org/files/icu4c/3.8.1/
+
+ * TL-Changes (new): Description of modifications of source tree.
+
+ * fix-case-insensitive (new): Shell script used to rename
+ source/layout/Features.h => ICUFeatures.h (required for Cygwin)
+ and modify references to that file accordingly.
+
+ * patch-01-backport-4.0.1 (new): Replace layout/CanonData.cpp,
+ layout/GlyphPositionAdjustments.cpp,
+ layout/IndicReordering.{cpp,h}, layout/LELanguages.h,
+ layout/LESwaps.h, layout/OpenTypeLayoutEngine.cpp,
+ layout/ScriptAndLanguage.cpp, layout/ThaiLayoutEngine.{cpp,h},
+ layoutex/ParagraphLayout.cpp, and test/letest/sfnt.h by their
+ 4.0.1 versions.
+ * patch-01-too_much-4.0.1 (new): Undo one change in
+ layoutex/ParagraphLayout.cpp.
+
+ * patch-02-syntax (new): Fix some dubious syntax in
+ layoutex/ParagraphLayout.cpp.
+
+ * patch-05-auxParam (new): Handling of extension for XeTeX in
+ layout/AlternateSubstSubtables.cpp,
+ layout/GlyphIterator.{cpp,h},
+ layout/LEGlyphStorage.{cpp,h},
+ and layout/OpenTypeLayoutEngine.{cpp,h}.
+
+ * patch-06-build-fix (new): Build fix in common/ubidi.c.
+ * patch-06-partial-4.0.1 (new): Partial backport of common/putil.c
+ from 4.0.1.
+ * patch-07-cygwin (new): Changes in config/mh-cygwin (libraries
+ named as for everyone else).
+
+ * patch-10-backport-4.0.1 (new): Replace
+ layout/ScriptAndLanguageTags.{cpp,h} by their 4.0.1 versions.
+ * patch-11-partial-4.0.1 (new): Backport of some changes in
+ layout/LayoutEngine.cpp from 4.0.1.
+
+ Bug fixes originally by: Jonathan Kew <jfkthame@googlemail.com>
+ * patch-20-fix-gt_ge (new): In layout/ClassDefinitionTables.cpp.
+ * patch-21-fix-not_aligned (new): In layout/ExtensionSubtables.cpp.
+ * patch-22-fix-JK-adjust_for_marks (new): In
+ layout/MarkToBasePosnSubtables.cpp.
+ * patch-23-fix-JK-GlyphPos (new): In
+ layout/OpenTypeLayoutEngine.cpp.
+
+ * patch-40-Shaping (new): Update shaping type data in
+ layout/ShapingTypeData.cpp to Unicode 5.1.
+
+ * patch-50-Vertical (new): Handling vertical writing in
+ layout/LEFontInstance.h and layout/ValueRecords.cpp.
+
+ * patch-60-KernPair (new): Modified handling of kerns in
+ layout/LEFontInstance.{cpp,h} and layout/LayoutEngine.cpp.
+
+ * patch-70-Arabic (new): Add Draft Mongolian shaping classes
+ in layout/ArabicShaping.{cpp,h} and LayoutEngine.cpp.
+
+ * patch-80-Indic (new): Backport of some changes in
+ layout/IndicClassTables.cpp from 4.0.1 and in
+ layout/IndicReordering.cpp from 4.2.1.
+
+ * patch-99-test (new): Changes from TeX Live icu-xetex in
+ test/letest/PortableFontInstance.{cpp,h},
+ test/letest/gendata.{cpp,xml}, test/letest/letest.{cpp,xml}.
+
+ These modifications and patches of icu-3.8.1/ reproduce the
+ previous icu-xetex/ source tree (except for test data).
+
+2009-10-22 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Slightly rearranged the icu-xetex/ source tree.
+
+ * layout/LELanguages.h: Changed some comments, from 4.0.1.
+
+ * layout/LEGlyphStorage.{cpp,h},
+ layout/OpenTypeLayoutEngine.cpp: Renamed adoptAuxDataArrays
+ back to adoptAuxDataArray as it was in 3.8.1.
+
+ * layout/LEGlyphStorage.h: The XeTeX modifications have added
+ an additional parameter for setAuxData, however, in most cases
+ the corresponding argument is NULL. Added an inline definition
+ of the original method.
+ layout/ArabicShaping.cpp, layout/HanLayoutEngine.cpp,
+ layout/HangulLayoutEngine.cpp, layout/IndicReordering.cpp,
+ layout/KhmerReordering.cpp, layout/LayoutEngine.cpp,
+ layout/TibetanReordering.cpp: Restored the original 3.8.1 use of
+ setAuxData without the additional argument NULL.
+
+ * data/Makefile.in: Restored 3.8.1 version, Autoconf >=2.61 ensures
+ a posix shell making, these changes obsolete.
+
+ * layout/ScriptAndLanguageTags.{cpp,h}: Backport from 4.0.1,
+ additional tags and changed comments.
+
+ * layout/OpenTypeLayoutEngine.cpp: Removed some obsolete code,
+ surrounded by #if 0...#endif.
diff --git a/Build/source/libs/icu/icu-54.1-PATCHES/TL-Changes b/Build/source/libs/icu/icu-54.1-PATCHES/TL-Changes
new file mode 100644
index 00000000000..6c311641b4e
--- /dev/null
+++ b/Build/source/libs/icu/icu-54.1-PATCHES/TL-Changes
@@ -0,0 +1,19 @@
+Changes applied to the icu-54.1/ tree as obtained from:
+ http://download.icu-project.org/files/icu4c/54rc/icu4c-53_rc-src.tgz
+
+Removed:
+ as_is/
+ packaging/
+
+Updated:
+ source/config.guess
+ source/config.sub
+ source/install-sh
+
+Reduced size of source/data/in/icudt53l.dat
+ icupkg -r 'curr/*' IN OUT
+ icupkg -r 'lang/*' IN OUT
+ icupkg -r 'region/*' IN OUT
+ icupkg -r 'rfc*.spp' IN OUT
+ icupkg -r 'zone/*' IN OUT
+
diff --git a/Build/source/libs/icu/icu-54.1-PATCHES/patch-03-gcc-atomic b/Build/source/libs/icu/icu-54.1-PATCHES/patch-03-gcc-atomic
new file mode 100644
index 00000000000..7fd4fb33871
--- /dev/null
+++ b/Build/source/libs/icu/icu-54.1-PATCHES/patch-03-gcc-atomic
@@ -0,0 +1,14 @@
+ It seems gcc-4.4 uses external calls.
+
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-54.1.orig/source/common/putilimp.h icu-54.1/source/common/putilimp.h
+--- icu-54.1.orig/source/common/putilimp.h 2014-09-17 03:20:36.000000000 +0200
++++ icu-54.1/source/common/putilimp.h 2014-09-18 09:38:02.000000000 +0200
+@@ -191,7 +191,7 @@
+ /* Use the predefined value. */
+ #elif U_PLATFORM == U_PF_MINGW
+ #define U_HAVE_GCC_ATOMICS 0
+-#elif U_GCC_MAJOR_MINOR >= 404 || defined(__clang__)
++#elif U_GCC_MAJOR_MINOR >= 405 || defined(__clang__)
+ /* TODO: Intel icc and IBM xlc on AIX also support gcc atomics. (Intel originated them.)
+ * Add them for these compilers.
+ * Note: Clang sets __GNUC__ defines for version 4.2, so misses the 4.4 test here.
diff --git a/Build/source/libs/icu/icu-54.1-PATCHES/patch-12-mingw b/Build/source/libs/icu/icu-54.1-PATCHES/patch-12-mingw
new file mode 100644
index 00000000000..6c4dbae66f2
--- /dev/null
+++ b/Build/source/libs/icu/icu-54.1-PATCHES/patch-12-mingw
@@ -0,0 +1,64 @@
+ We don't want this for TeX Live cross compilation.
+
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-54.1.orig/source/config/mh-mingw icu-54.1/source/config/mh-mingw
+--- icu-54.1.orig/source/config/mh-mingw 2014-09-17 03:21:14.000000000 +0200
++++ icu-54.1/source/config/mh-mingw 2014-09-18 09:46:36.000000000 +0200
+@@ -59,27 +59,9 @@
+ ## Non-shared intermediate object suffix
+ STATIC_O = ao
+
+-ifeq ($(ENABLE_SHARED),YES)
+-SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR)
+-else
+-SO_TARGET_VERSION_SUFFIX =
+-endif
+-
+-# Static library prefix and file extension
+-LIBSICU = lib$(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
+-A = a
+-
+ ## An import library is needed for z/OS and MSVC
+ IMPORT_LIB_EXT = .dll.a
+
+-LIBPREFIX=
+-
+-# Change the stubnames so that poorly working FAT disks and installation programs can work.
+-# This is also for backwards compatibility.
+-DATA_STUBNAME = dt
+-I18N_STUBNAME = in
+-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
+-
+ #SH### copied from Makefile.inc
+ #SH## for icu-config to test with
+ #SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-54.1.orig/source/config/mh-mingw64 icu-54.1/source/config/mh-mingw64
+--- icu-54.1.orig/source/config/mh-mingw64 2014-09-17 03:21:14.000000000 +0200
++++ icu-54.1/source/config/mh-mingw64 2014-09-18 09:47:57.000000000 +0200
+@@ -59,27 +59,9 @@
+ ## Non-shared intermediate object suffix
+ STATIC_O = ao
+
+-ifeq ($(ENABLE_SHARED),YES)
+-SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR)
+-else
+-SO_TARGET_VERSION_SUFFIX =
+-endif
+-
+-# Static library prefix and file extension
+-LIBSICU = lib$(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
+-A = a
+-
+ ## An import library is needed for z/OS and MSVC
+ IMPORT_LIB_EXT = .dll.a
+
+-LIBPREFIX=
+-
+-# Change the stubnames so that poorly working FAT disks and installation programs can work.
+-# This is also for backwards compatibility.
+-DATA_STUBNAME = dt
+-I18N_STUBNAME = in
+-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
+-
+ #SH### copied from Makefile.inc
+ #SH## for icu-config to test with
+ #SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
diff --git a/Build/source/libs/icu/icu-54.1-PATCHES/patch-13-STATIC_PREFIX b/Build/source/libs/icu/icu-54.1-PATCHES/patch-13-STATIC_PREFIX
new file mode 100644
index 00000000000..3c463cacfcb
--- /dev/null
+++ b/Build/source/libs/icu/icu-54.1-PATCHES/patch-13-STATIC_PREFIX
@@ -0,0 +1,31 @@
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-54.1.orig/source/config/Makefile.inc.in icu-54.1/source/config/Makefile.inc.in
+--- icu-54.1.orig/source/config/Makefile.inc.in 2014-09-17 03:21:14.000000000 +0200
++++ icu-54.1/source/config/Makefile.inc.in 2014-09-18 09:50:15.000000000 +0200
+@@ -44,7 +44,7 @@
+ LIBICU = lib$(ICUPREFIX)
+
+ # Static library prefix and file extension
+-STATIC_PREFIX = s
++STATIC_PREFIX =
+ LIBSICU = lib$(STATIC_PREFIX)$(ICUPREFIX)
+ A = a
+
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-54.1.orig/source/icudefs.mk.in icu-54.1/source/icudefs.mk.in
+--- icu-54.1.orig/source/icudefs.mk.in 2014-09-17 03:29:04.000000000 +0200
++++ icu-54.1/source/icudefs.mk.in 2014-09-18 09:51:25.000000000 +0200
+@@ -207,13 +207,13 @@
+
+ ## If we can't use the shared libraries, use the static libraries
+ ifneq ($(ENABLE_SHARED),YES)
+-STATIC_PREFIX_WHEN_USED = s
++STATIC_PREFIX_WHEN_USED =
+ else
+ STATIC_PREFIX_WHEN_USED =
+ endif
+
+ # Static library prefix and file extension
+-STATIC_PREFIX = s
++STATIC_PREFIX =
+ LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
+ A = a
+ SOBJ = $(SO)
diff --git a/Build/source/libs/icu/icu-54.1-PATCHES/patch-14-xopen b/Build/source/libs/icu/icu-54.1-PATCHES/patch-14-xopen
new file mode 100644
index 00000000000..896c87ac54b
--- /dev/null
+++ b/Build/source/libs/icu/icu-54.1-PATCHES/patch-14-xopen
@@ -0,0 +1,21 @@
+ Do not define _XOPEN_SOURCE_EXTENDED on Solaris,
+ notwithstanding comments in icu source.
+
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-54.1.orig/source/common/uposixdefs.h icu-54.1/source/common/uposixdefs.h
+--- icu-54.1.orig/source/common/uposixdefs.h 2014-09-17 03:20:34.000000000 +0200
++++ icu-54.1/source/common/uposixdefs.h 2014-09-18 09:53:21.000000000 +0200
+@@ -49,10 +49,13 @@
+ * Make sure things like readlink and such functions work.
+ * Poorly upgraded Solaris machines can't have this defined.
+ * Cleanly installed Solaris can use this #define.
++ * [Experience with TeX Live is that it always causes failure.
++ * http://tug.org/pipermail/tlbuild/2013q1/002493.html
++ * http://tug.org/pipermail/tlbuild/2013q1/002536.html ]
+ *
+ * z/OS needs this definition for timeval and to get usleep.
+ */
+-#if !defined(_XOPEN_SOURCE_EXTENDED)
++#if !defined(_XOPEN_SOURCE_EXTENDED) && !defined(__sun)
+ # define _XOPEN_SOURCE_EXTENDED 1
+ #endif
+
diff --git a/Build/source/libs/icu/icu-54.1-PATCHES/patch-16-putil b/Build/source/libs/icu/icu-54.1-PATCHES/patch-16-putil
new file mode 100644
index 00000000000..343b9042a33
--- /dev/null
+++ b/Build/source/libs/icu/icu-54.1-PATCHES/patch-16-putil
@@ -0,0 +1,45 @@
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-54.1.orig/source/common/putil.cpp icu-54.1/source/common/putil.cpp
+--- icu-54.1.orig/source/common/putil.cpp 2014-09-17 03:20:30.000000000 +0200
++++ icu-54.1/source/common/putil.cpp 2014-09-18 10:05:08.000000000 +0200
+@@ -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"
+@@ -102,20 +116,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-54.1-PATCHES/patch-17-cygwin-no-w32api b/Build/source/libs/icu/icu-54.1-PATCHES/patch-17-cygwin-no-w32api
new file mode 100644
index 00000000000..0fd3c40e708
--- /dev/null
+++ b/Build/source/libs/icu/icu-54.1-PATCHES/patch-17-cygwin-no-w32api
@@ -0,0 +1,464 @@
+diff -ur -N -x config.guess -x config.sub -x install-sh icu-54.1.orig/source/common/putilimp.h icu-54.1/source/common/putilimp.h
+--- icu-54.1.orig/source/common/putilimp.h 2014-09-18 09:38:02.000000000 +0200
++++ icu-54.1/source/common/putilimp.h 2014-09-18 10:16:52.000000000 +0200
+@@ -148,7 +148,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
+@@ -171,7 +171,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-54.1.orig/source/common/umutex.cpp icu-54.1/source/common/umutex.cpp
+--- icu-54.1.orig/source/common/umutex.cpp 2014-09-17 03:20:32.000000000 +0200
++++ icu-54.1/source/common/umutex.cpp 2014-09-18 10:16:52.000000000 +0200
+@@ -37,7 +37,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-54.1.orig/source/common/umutex.h icu-54.1/source/common/umutex.h
+--- icu-54.1.orig/source/common/umutex.h 2014-09-17 03:20:26.000000000 +0200
++++ icu-54.1/source/common/umutex.h 2014-09-18 10:16:52.000000000 +0200
+@@ -74,7 +74,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.
+@@ -291,7 +291,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-54.1.orig/source/common/wintz.c icu-54.1/source/common/wintz.c
+--- icu-54.1.orig/source/common/wintz.c 2014-09-17 03:20:28.000000000 +0200
++++ icu-54.1/source/common/wintz.c 2014-09-18 10:16:52.000000000 +0200
+@@ -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"
+@@ -435,4 +435,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-54.1.orig/source/common/wintz.h icu-54.1/source/common/wintz.h
+--- icu-54.1.orig/source/common/wintz.h 2014-09-17 03:20:28.000000000 +0200
++++ icu-54.1/source/common/wintz.h 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/i18n/datefmt.cpp icu-54.1/source/i18n/datefmt.cpp
+--- icu-54.1.orig/source/i18n/datefmt.cpp 2014-09-17 03:19:56.000000000 +0200
++++ icu-54.1/source/i18n/datefmt.cpp 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/i18n/windtfmt.cpp icu-54.1/source/i18n/windtfmt.cpp
+--- icu-54.1.orig/source/i18n/windtfmt.cpp 2014-09-17 03:19:56.000000000 +0200
++++ icu-54.1/source/i18n/windtfmt.cpp 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/i18n/windtfmt.h icu-54.1/source/i18n/windtfmt.h
+--- icu-54.1.orig/source/i18n/windtfmt.h 2014-09-17 03:19:54.000000000 +0200
++++ icu-54.1/source/i18n/windtfmt.h 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/i18n/wintzimpl.cpp icu-54.1/source/i18n/wintzimpl.cpp
+--- icu-54.1.orig/source/i18n/wintzimpl.cpp 2014-09-17 03:19:58.000000000 +0200
++++ icu-54.1/source/i18n/wintzimpl.cpp 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/i18n/wintzimpl.h icu-54.1/source/i18n/wintzimpl.h
+--- icu-54.1.orig/source/i18n/wintzimpl.h 2014-09-17 03:19:54.000000000 +0200
++++ icu-54.1/source/i18n/wintzimpl.h 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/test/intltest/dtfmttst.cpp icu-54.1/source/test/intltest/dtfmttst.cpp
+--- icu-54.1.orig/source/test/intltest/dtfmttst.cpp 2014-09-17 03:18:48.000000000 +0200
++++ icu-54.1/source/test/intltest/dtfmttst.cpp 2014-09-18 10:16:52.000000000 +0200
+@@ -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
+
+@@ -2265,7 +2265,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-54.1.orig/source/test/intltest/uobjtest.cpp icu-54.1/source/test/intltest/uobjtest.cpp
+--- icu-54.1.orig/source/test/intltest/uobjtest.cpp 2014-09-17 03:18:50.000000000 +0200
++++ icu-54.1/source/test/intltest/uobjtest.cpp 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/test/intltest/windttst.cpp icu-54.1/source/test/intltest/windttst.cpp
+--- icu-54.1.orig/source/test/intltest/windttst.cpp 2014-09-17 03:18:50.000000000 +0200
++++ icu-54.1/source/test/intltest/windttst.cpp 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/test/intltest/windttst.h icu-54.1/source/test/intltest/windttst.h
+--- icu-54.1.orig/source/test/intltest/windttst.h 2014-09-17 03:18:42.000000000 +0200
++++ icu-54.1/source/test/intltest/windttst.h 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/test/intltest/winutil.cpp icu-54.1/source/test/intltest/winutil.cpp
+--- icu-54.1.orig/source/test/intltest/winutil.cpp 2014-09-17 03:18:42.000000000 +0200
++++ icu-54.1/source/test/intltest/winutil.cpp 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/test/intltest/winutil.h icu-54.1/source/test/intltest/winutil.h
+--- icu-54.1.orig/source/test/intltest/winutil.h 2014-09-17 03:18:42.000000000 +0200
++++ icu-54.1/source/test/intltest/winutil.h 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/test/perf/collperf/collperf.cpp icu-54.1/source/test/perf/collperf/collperf.cpp
+--- icu-54.1.orig/source/test/perf/collperf/collperf.cpp 2014-09-17 03:19:18.000000000 +0200
++++ icu-54.1/source/test/perf/collperf/collperf.cpp 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/test/perf/normperf/normperf.h icu-54.1/source/test/perf/normperf/normperf.h
+--- icu-54.1.orig/source/test/perf/normperf/normperf.h 2014-09-17 03:19:10.000000000 +0200
++++ icu-54.1/source/test/perf/normperf/normperf.h 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/tools/ctestfw/unicode/utimer.h icu-54.1/source/tools/ctestfw/unicode/utimer.h
+--- icu-54.1.orig/source/tools/ctestfw/unicode/utimer.h 2014-09-17 03:20:38.000000000 +0200
++++ icu-54.1/source/tools/ctestfw/unicode/utimer.h 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/tools/gendict/gendict.cpp icu-54.1/source/tools/gendict/gendict.cpp
+--- icu-54.1.orig/source/tools/gendict/gendict.cpp 2014-09-17 03:20:52.000000000 +0200
++++ icu-54.1/source/tools/gendict/gendict.cpp 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/tools/genrb/derb.c icu-54.1/source/tools/genrb/derb.c
+--- icu-54.1.orig/source/tools/genrb/derb.c 2014-09-17 03:20:44.000000000 +0200
++++ icu-54.1/source/tools/genrb/derb.c 2014-09-18 10:16:52.000000000 +0200
+@@ -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-54.1.orig/source/tools/toolutil/udbgutil.cpp icu-54.1/source/tools/toolutil/udbgutil.cpp
+--- icu-54.1.orig/source/tools/toolutil/udbgutil.cpp 2014-09-17 03:20:50.000000000 +0200
++++ icu-54.1/source/tools/toolutil/udbgutil.cpp 2014-09-18 10:16:52.000000000 +0200
+@@ -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