texlive[43492] Build/source/libs: icu 58.2, changes for TL

commits+karl at tug.org commits+karl at tug.org
Tue Mar 14 00:56:44 CET 2017


Revision: 43492
          http://tug.org/svn/texlive?view=revision&revision=43492
Author:   karl
Date:     2017-03-14 00:56:43 +0100 (Tue, 14 Mar 2017)
Log Message:
-----------
icu 58.2, changes for TL

Modified Paths:
--------------
    trunk/Build/source/libs/README
    trunk/Build/source/libs/icu/ChangeLog
    trunk/Build/source/libs/icu/TLpatches/ChangeLog
    trunk/Build/source/libs/icu/TLpatches/TL-Changes
    trunk/Build/source/libs/icu/TLpatches/patch-03-gcc-atomic
    trunk/Build/source/libs/icu/TLpatches/patch-12-mingw
    trunk/Build/source/libs/icu/TLpatches/patch-13-STATIC_PREFIX
    trunk/Build/source/libs/icu/TLpatches/patch-14-xopen
    trunk/Build/source/libs/icu/TLpatches/patch-16-putil
    trunk/Build/source/libs/icu/TLpatches/patch-17-cygwin-no-w32api
    trunk/Build/source/libs/icu/TLpatches/patch-20-private
    trunk/Build/source/libs/icu/configure
    trunk/Build/source/libs/icu/icu-src/source/common/putil.cpp
    trunk/Build/source/libs/icu/icu-src/source/common/putilimp.h
    trunk/Build/source/libs/icu/icu-src/source/common/umutex.h
    trunk/Build/source/libs/icu/icu-src/source/common/uposixdefs.h
    trunk/Build/source/libs/icu/icu-src/source/common/wintz.c
    trunk/Build/source/libs/icu/icu-src/source/common/wintz.h
    trunk/Build/source/libs/icu/icu-src/source/config/Makefile.inc.in
    trunk/Build/source/libs/icu/icu-src/source/config/mh-mingw
    trunk/Build/source/libs/icu/icu-src/source/config.guess
    trunk/Build/source/libs/icu/icu-src/source/config.sub
    trunk/Build/source/libs/icu/icu-src/source/configure
    trunk/Build/source/libs/icu/icu-src/source/configure.ac
    trunk/Build/source/libs/icu/icu-src/source/data/in/icudt58l.dat
    trunk/Build/source/libs/icu/icu-src/source/i18n/datefmt.cpp
    trunk/Build/source/libs/icu/icu-src/source/i18n/dayperiodrules.h
    trunk/Build/source/libs/icu/icu-src/source/i18n/unicode/dtitvinf.h
    trunk/Build/source/libs/icu/icu-src/source/i18n/windtfmt.cpp
    trunk/Build/source/libs/icu/icu-src/source/i18n/windtfmt.h
    trunk/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.cpp
    trunk/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.h
    trunk/Build/source/libs/icu/icu-src/source/icudefs.mk.in
    trunk/Build/source/libs/icu/icu-src/source/install-sh
    trunk/Build/source/libs/icu/icu-src/source/test/intltest/dtfmttst.cpp
    trunk/Build/source/libs/icu/icu-src/source/test/intltest/uobjtest.cpp
    trunk/Build/source/libs/icu/icu-src/source/test/intltest/windttst.cpp
    trunk/Build/source/libs/icu/icu-src/source/test/intltest/windttst.h
    trunk/Build/source/libs/icu/icu-src/source/test/intltest/winutil.cpp
    trunk/Build/source/libs/icu/icu-src/source/test/intltest/winutil.h
    trunk/Build/source/libs/icu/icu-src/source/test/perf/collperf/collperf.cpp
    trunk/Build/source/libs/icu/icu-src/source/test/perf/normperf/normperf.h
    trunk/Build/source/libs/icu/icu-src/source/tools/ctestfw/unicode/utimer.h
    trunk/Build/source/libs/icu/icu-src/source/tools/genrb/derb.cpp
    trunk/Build/source/libs/icu/icu-src/source/tools/toolutil/udbgutil.cpp
    trunk/Build/source/libs/icu/version.ac

Added Paths:
-----------
    trunk/Build/source/libs/icu/TLpatches/patch-01-configure-gcc

Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/README	2017-03-13 23:56:43 UTC (rev 43492)
@@ -27,7 +27,7 @@
 harfbuzz 1.4.5 - checked 11mar17
   http://www.freedesktop.org/software/harfbuzz/release/
 
-icu 57.1 (release) - checked 27mar16
+icu 58.2 - checked 13mar17
   http://download.icu-project.org/files/icu4c/
 
 libpaper 1.1.24+nmu2 - checked 24oct13

Modified: trunk/Build/source/libs/icu/ChangeLog
===================================================================
--- trunk/Build/source/libs/icu/ChangeLog	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/ChangeLog	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,3 +1,8 @@
+2017-03-13  Karl Berry  <karl at freefriends.org>
+
+	* Import icu-58.2 (release); reautoconf.
+	* version.ac: update.
+
 2016-03-27  Karl Berry  <karl at tug.org>
 
 	* Import icu-57.1 (release).

Modified: trunk/Build/source/libs/icu/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/icu/TLpatches/ChangeLog	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/TLpatches/ChangeLog	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,3 +1,7 @@
+2017-03-13  Karl Berry  <karl at freefriends.org>
+
+	* Update for icu-58.2.
+
 2016-03-30  Karl Berry  <karl at tug.org>
 
 	* patch-20-private: new file, per Dick Koch.

Modified: trunk/Build/source/libs/icu/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/libs/icu/TLpatches/TL-Changes	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/TLpatches/TL-Changes	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,9 +1,10 @@
-Changes applied to the icu-57.1 tree as obtained from:
-	http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz
+Changes applied to the icu-58.2 tree as obtained from:
+	http://download.icu-project.org/files/icu4c/58.2/icu4c-58_2-src.tgz
+        and icu4c-58_2-data.zip
 
 cd /tmp # or wherever
-tar xf icu4c-*-src.tgz
-cd .../texlive/Build/source/libs/icu/icu-src
+tar xf icu4c-*-src.tgz # should unpack into icu/*
+cd $Build/source/libs/icu/icu-src  # for whatever $Build directory
 \cp -arf /tmp/icu/* .
 rm -r as_is packaging		# don't bother including these in our tree
 #
@@ -12,19 +13,23 @@
 svn add `!!`
 svn status | sed -n 's/^\?//p'  # rerun, should be empty now
 #
+# files to remove:
 diff -qr . /tmp/icu/ | sed -n -e 's,^Only in \./\(.*\): ,\1/,p'
 svn rm `!!`
 diff ...			# rerun, should be empty now
 
 # update generic files (still in icu-src):
-aux=/usr/local/src/dist/build-aux
-cp $aux/config.guess $aux/config.sub $aux/install-sh source/
+aux=$Build/source/build-aux
+cp -p $aux/config.guess $aux/config.sub $aux/install-sh source/
 
-# apply ./patch-* files, as needed.
+# patch -p0 for all ../TLpatches/patch-* files, as needed.
 # Run svn diff after each, update patch-* file.
 # Don't lose our leading comments.
 
-# autoreconf.
+# autoreconf in the TL directory; don't run autoreconf in the
+# icu-src/source/ directory, it fails due to missing pkg-config
+# prerequisites. (Thus we must patch configure, not just configure.ac.)
+# 
 # rebuild; must rerun configure (not just config.status),
 # so easiest is to just do a whole new build.
 # That will also test use of the new icu version by our programs.
@@ -32,9 +37,9 @@
 # Assuming all seems ok, reduce size of source/data/in/icudt*.dat
 # to decrease data segment size, e.g., for old BSD.  First, check
 # that we successfully built the full .dat:
-srcdat=.../source/libs/icu/icu-src/source/data/in/icudt57l.dat 
-cd .../Work/libs/icu/icu-build/data/out/build/icudt57l
-indat=../../tmp/icudt57l.dat
+srcdat=$Build/source/libs/icu/icu-src/source/data/in/icudt58l.dat 
+cd $Work/libs/icu/icu-build/data/out/build/icudt58l
+indat=../../tmp/icudt58l.dat
 diff $srcdat $indat
 # should be identical, amazingly enough.
 
@@ -44,7 +49,7 @@
 
 # then remove some elements unused by the icu clients in our tree, namely
 # bibtexu (in texk/bibtex-x), upmendex, and xetex (in texk/web2c/xetexdir).
-outdat=icudt57l.dat
+outdat=icudt58l.dat
 $icupkg -r 'curr/*' $indat $outdat && mv $outdat $indat
 $icupkg -r 'lang/*' $indat $outdat && mv $outdat $indat
 $icupkg -r 'region/*' $indat $outdat && mv $outdat $indat

Added: trunk/Build/source/libs/icu/TLpatches/patch-01-configure-gcc
===================================================================
--- trunk/Build/source/libs/icu/TLpatches/patch-01-configure-gcc	                        (rev 0)
+++ trunk/Build/source/libs/icu/TLpatches/patch-01-configure-gcc	2017-03-13 23:56:43 UTC (rev 43492)
@@ -0,0 +1,60 @@
+	For TL, we do not want to prefer clang(++) for ICU
+	when the whole rest of the tree prefers gcc.
+
+Index: source/configure
+===================================================================
+--- source/configure	(revision 43491)
++++ source/configure	(working copy)
+@@ -2830,7 +2830,7 @@
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ if test -n "$ac_tool_prefix"; then
+-  for ac_prog in clang gcc cc c99 c89 xlc_r xlc cl.exe icc
++  for ac_prog in gcc cc clang c99 c89 xlc_r xlc cl.exe icc
+   do
+     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+@@ -2874,7 +2874,7 @@
+ fi
+ if test -z "$CC"; then
+   ac_ct_CC=$CC
+-  for ac_prog in clang gcc cc c99 c89 xlc_r xlc cl.exe icc
++  for ac_prog in gcc cc clang c99 c89 xlc_r xlc cl.exe icc
+ do
+   # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+@@ -3433,7 +3433,7 @@
+     CXX=$CCC
+   else
+     if test -n "$ac_tool_prefix"; then
+-  for ac_prog in clang++ g++ c++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC
++  for ac_prog in g++ c++ clang++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC
+   do
+     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+@@ -3477,7 +3477,7 @@
+ fi
+ if test -z "$CXX"; then
+   ac_ct_CXX=$CXX
+-  for ac_prog in clang++ g++ c++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC
++  for ac_prog in g++ c++ clang++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC
+ do
+   # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+Index: source/configure.ac
+===================================================================
+--- source/configure.ac	(revision 43491)
++++ source/configure.ac	(working copy)
+@@ -133,10 +133,10 @@
+ : ${CXXFLAGS=""}
+ 
+ # Checks for compilers
+-AC_PROG_CC([clang gcc cc c99 c89 xlc_r xlc cl.exe icc])
++AC_PROG_CC([gcc cc clang c99 c89 xlc_r xlc cl.exe icc])
+ # Make sure that we try clang++ first, which provides C++11 support.
+ # The g++ compiler is less likely to support C++11.
+-AC_PROG_CXX([clang++ g++ c++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC])
++AC_PROG_CXX([g++ c++ clang++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC])
+ 
+ # pkg-config is needed for harfbuzz support
+ PKG_PROG_PKG_CONFIG([0.20])

Modified: trunk/Build/source/libs/icu/TLpatches/patch-03-gcc-atomic
===================================================================
--- trunk/Build/source/libs/icu/TLpatches/patch-03-gcc-atomic	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/TLpatches/patch-03-gcc-atomic	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,8 +1,10 @@
 	It seems gcc-4.4 uses external calls.
 
---- source/common/putilimp.h	(revision 40154)
+Index: source/common/putilimp.h
+===================================================================
+--- source/common/putilimp.h	(revision 43491)
 +++ source/common/putilimp.h	(working copy)
-@@ -191,7 +191,7 @@
+@@ -193,7 +193,7 @@
      /* Use the predefined value. */
  #elif U_PLATFORM == U_PF_MINGW
      #define U_HAVE_GCC_ATOMICS 0

Modified: trunk/Build/source/libs/icu/TLpatches/patch-12-mingw
===================================================================
--- trunk/Build/source/libs/icu/TLpatches/patch-12-mingw	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/TLpatches/patch-12-mingw	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,8 +1,10 @@
 	We don't want this for TeX Live cross compilation.
 
---- source/config/mh-mingw	(revision 40154)
+Index: source/config/mh-mingw
+===================================================================
+--- source/config/mh-mingw	(revision 43491)
 +++ source/config/mh-mingw	(working copy)
-@@ -59,27 +59,9 @@
+@@ -61,27 +61,9 @@
  ## Non-shared intermediate object suffix
  STATIC_O = ao
  
@@ -13,13 +15,13 @@
 -endif
 -
 -# Static library prefix and file extension
--LIBSICU = lib$(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
+-LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
 -A = a
 -
  ## An import library is needed for z/OS and MSVC
  IMPORT_LIB_EXT = .dll.a
  
--LIBPREFIX=
+-LIBPREFIX=lib
 -
 -# Change the stubnames so that poorly working FAT disks and installation programs can work.
 -# This is also for backwards compatibility.

Modified: trunk/Build/source/libs/icu/TLpatches/patch-13-STATIC_PREFIX
===================================================================
--- trunk/Build/source/libs/icu/TLpatches/patch-13-STATIC_PREFIX	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/TLpatches/patch-13-STATIC_PREFIX	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,8 +1,10 @@
 	No `s' for STATIC_PREFIX.
 
---- source/config/Makefile.inc.in	(revision 40154)
+Index: source/config/Makefile.inc.in
+===================================================================
+--- source/config/Makefile.inc.in	(revision 43491)
 +++ source/config/Makefile.inc.in	(working copy)
-@@ -44,7 +44,7 @@
+@@ -46,7 +46,7 @@
  LIBICU = lib$(ICUPREFIX)
  
  # Static library prefix and file extension
@@ -11,9 +13,11 @@
  LIBSICU = lib$(STATIC_PREFIX)$(ICUPREFIX)
  A = a
  
---- source/icudefs.mk.in	(revision 40154)
+Index: source/icudefs.mk.in
+===================================================================
+--- source/icudefs.mk.in	(revision 43491)
 +++ source/icudefs.mk.in	(working copy)
-@@ -207,13 +207,13 @@
+@@ -209,13 +209,13 @@
  
  ## If we can't use the shared libraries, use the static libraries
  ifneq ($(ENABLE_SHARED),YES)

Modified: trunk/Build/source/libs/icu/TLpatches/patch-14-xopen
===================================================================
--- trunk/Build/source/libs/icu/TLpatches/patch-14-xopen	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/TLpatches/patch-14-xopen	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,9 +1,11 @@
 	Do not define _XOPEN_SOURCE_EXTENDED on Solaris,
 	notwithstanding comments in icu source.
 
---- source/common/uposixdefs.h	(revision 40154)
+Index: source/common/uposixdefs.h
+===================================================================
+--- source/common/uposixdefs.h	(revision 43491)
 +++ source/common/uposixdefs.h	(working copy)
-@@ -49,10 +49,13 @@
+@@ -51,10 +51,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.
@@ -17,3 +19,4 @@
 +#if !defined(_XOPEN_SOURCE_EXTENDED) && !defined(__sun)
  #   define _XOPEN_SOURCE_EXTENDED 1
  #endif
+ 

Modified: trunk/Build/source/libs/icu/TLpatches/patch-16-putil
===================================================================
--- trunk/Build/source/libs/icu/TLpatches/patch-16-putil	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/TLpatches/patch-16-putil	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,6 +1,10 @@
---- source/common/putil.cpp	(revision 40154)
+	tzset and mingw/cygwin.
+
+Index: source/common/putil.cpp
+===================================================================
+--- source/common/putil.cpp	(revision 43491)
 +++ source/common/putil.cpp	(working copy)
-@@ -41,6 +41,20 @@
+@@ -43,6 +43,20 @@
  // Must be before any other #includes.
  #include "uposixdefs.h"
  
@@ -21,7 +25,7 @@
  /* include ICU headers */
  #include "unicode/utypes.h"
  #include "unicode/putil.h"
-@@ -102,21 +116,7 @@
+@@ -104,21 +118,7 @@
  #   include <sys/neutrino.h>
  #endif
  

Modified: trunk/Build/source/libs/icu/TLpatches/patch-17-cygwin-no-w32api
===================================================================
--- trunk/Build/source/libs/icu/TLpatches/patch-17-cygwin-no-w32api	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/TLpatches/patch-17-cygwin-no-w32api	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,37 +1,10 @@
---- source/common/putilimp.h	(revision 40154)
-+++ source/common/putilimp.h	(working copy)
-@@ -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
---- source/common/umutex.cpp	(revision 40154)
-+++ source/common/umutex.cpp	(working copy)
-@@ -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
- 
- //-------------------------------------------------------------------------------------------
- //
---- source/common/umutex.h	(revision 40154)
+	_HAS_ -> _USES_ONLY_ for WIN32_API and Cygwin.
+
+Index: source/common/umutex.h
+===================================================================
+--- source/common/umutex.h	(revision 43491)
 +++ source/common/umutex.h	(working copy)
-@@ -74,7 +74,7 @@
+@@ -76,7 +76,7 @@
  }
  U_NAMESPACE_END
  
@@ -40,18 +13,11 @@
  
  // MSVC compiler. Reads and writes of volatile variables have
  //                acquire and release memory semantics, respectively.
-@@ -318,7 +318,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.
---- source/common/wintz.c	(revision 40154)
+Index: source/common/wintz.c
+===================================================================
+--- source/common/wintz.c	(revision 43491)
 +++ source/common/wintz.c	(working copy)
-@@ -11,7 +11,7 @@
+@@ -13,7 +13,7 @@
  
  #include "unicode/utypes.h"
  
@@ -60,15 +26,17 @@
  
  #include "wintz.h"
  #include "cmemory.h"
-@@ -436,4 +436,4 @@
+@@ -438,4 +438,4 @@
      return icuid;
  }
  
 -#endif /* U_PLATFORM_HAS_WIN32_API */
 +#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
---- source/common/wintz.h	(revision 40154)
+Index: source/common/wintz.h
+===================================================================
+--- source/common/wintz.h	(revision 43491)
 +++ source/common/wintz.h	(working copy)
-@@ -14,7 +14,7 @@
+@@ -16,7 +16,7 @@
  
  #include "unicode/utypes.h"
  
@@ -77,7 +45,7 @@
  
  /**
   * \file 
-@@ -29,6 +29,6 @@
+@@ -31,6 +31,6 @@
  U_CFUNC const char* U_EXPORT2
  uprv_detectWindowsTimeZone();
  
@@ -85,9 +53,11 @@
 +#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
  
  #endif /* __WINTZ */
---- source/i18n/datefmt.cpp	(revision 40154)
+Index: source/i18n/datefmt.cpp
+===================================================================
+--- source/i18n/datefmt.cpp	(revision 43491)
 +++ source/i18n/datefmt.cpp	(working copy)
-@@ -496,7 +496,7 @@
+@@ -498,7 +498,7 @@
  DateFormat::create(EStyle timeStyle, EStyle dateStyle, const Locale& locale)
  {
      UErrorCode status = U_ZERO_ERROR;
@@ -96,9 +66,11 @@
      char buffer[8];
      int32_t count = locale.getKeywordValue("compat", buffer, sizeof(buffer), status);
  
---- source/i18n/windtfmt.cpp	(revision 40154)
+Index: source/i18n/windtfmt.cpp
+===================================================================
+--- source/i18n/windtfmt.cpp	(revision 43491)
 +++ source/i18n/windtfmt.cpp	(working copy)
-@@ -11,7 +11,7 @@
+@@ -13,7 +13,7 @@
  
  #include "unicode/utypes.h"
  
@@ -107,7 +79,7 @@
  
  #if !UCONFIG_NO_FORMATTING
  
-@@ -312,5 +312,5 @@
+@@ -314,5 +314,5 @@
  
  #endif /* #if !UCONFIG_NO_FORMATTING */
  
@@ -114,9 +86,11 @@
 -#endif // U_PLATFORM_HAS_WIN32_API
 +#endif // U_PLATFORM_USES_ONLY_WIN32_API
  
---- source/i18n/windtfmt.h	(revision 40154)
+Index: source/i18n/windtfmt.h
+===================================================================
+--- source/i18n/windtfmt.h	(revision 43491)
 +++ source/i18n/windtfmt.h	(working copy)
-@@ -14,7 +14,7 @@
+@@ -16,7 +16,7 @@
  
  #include "unicode/utypes.h"
  
@@ -125,7 +99,7 @@
  
  #if !UCONFIG_NO_FORMATTING
  
-@@ -131,6 +131,6 @@
+@@ -133,6 +133,6 @@
  
  #endif /* #if !UCONFIG_NO_FORMATTING */
  
@@ -133,9 +107,11 @@
 +#endif // U_PLATFORM_USES_ONLY_WIN32_API
  
  #endif // __WINDTFMT
---- source/i18n/wintzimpl.cpp	(revision 40154)
+Index: source/i18n/wintzimpl.cpp
+===================================================================
+--- source/i18n/wintzimpl.cpp	(revision 43491)
 +++ source/i18n/wintzimpl.cpp	(working copy)
-@@ -11,7 +11,7 @@
+@@ -13,7 +13,7 @@
  
  #include "unicode/utypes.h"
  
@@ -143,9 +119,12 @@
 +#if U_PLATFORM_USES_ONLY_WIN32_API && !UCONFIG_NO_FORMATTING 
  
  #include "wintzimpl.h"
---- source/i18n/wintzimpl.h	(revision 40154)
+ 
+Index: source/i18n/wintzimpl.h
+===================================================================
+--- source/i18n/wintzimpl.h	(revision 43491)
 +++ source/i18n/wintzimpl.h	(working copy)
-@@ -14,7 +14,7 @@
+@@ -16,7 +16,7 @@
  
  #include "unicode/utypes.h"
  
@@ -154,7 +133,7 @@
  /**
   * \file 
   * \brief C API: Utilities for dealing w/ Windows time zones.
-@@ -32,6 +32,6 @@
+@@ -34,6 +34,6 @@
  uprv_getWindowsTimeZoneInfo(TIME_ZONE_INFORMATION *zoneInfo, const UChar *icuid, int32_t length);
  
  
@@ -164,9 +143,9 @@
  #endif /* __WINTZIMPL */
 Index: source/test/intltest/dtfmttst.cpp
 ===================================================================
---- source/test/intltest/dtfmttst.cpp	(revision 40154)
+--- source/test/intltest/dtfmttst.cpp	(revision 43491)
 +++ source/test/intltest/dtfmttst.cpp	(working copy)
-@@ -23,7 +23,7 @@
+@@ -25,7 +25,7 @@
  #include "caltest.h"  // for fieldName
  #include <stdio.h> // for sprintf
  
@@ -175,7 +154,7 @@
  #include "windttst.h"
  #endif
  
-@@ -2372,7 +2372,7 @@
+@@ -2374,7 +2374,7 @@
  
  void DateFormatTest::TestHost(void)
  {
@@ -186,9 +165,9 @@
  }
 Index: source/test/intltest/uobjtest.cpp
 ===================================================================
---- source/test/intltest/uobjtest.cpp	(revision 40154)
+--- source/test/intltest/uobjtest.cpp	(revision 43491)
 +++ source/test/intltest/uobjtest.cpp	(working copy)
-@@ -382,13 +382,11 @@
+@@ -384,13 +384,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));
@@ -205,9 +184,9 @@
      /* TESTCLASSID_ABSTRACT(BreakIterator); No staticID!  */
 Index: source/test/intltest/windttst.cpp
 ===================================================================
---- source/test/intltest/windttst.cpp	(revision 40154)
+--- source/test/intltest/windttst.cpp	(revision 43491)
 +++ source/test/intltest/windttst.cpp	(working copy)
-@@ -11,7 +11,7 @@
+@@ -13,7 +13,7 @@
  
  #include "unicode/utypes.h"
  
@@ -216,7 +195,7 @@
  
  #if !UCONFIG_NO_FORMATTING
  
-@@ -191,4 +191,4 @@
+@@ -193,4 +193,4 @@
  
  #endif /* #if !UCONFIG_NO_FORMATTING */
  
@@ -224,9 +203,9 @@
 +#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
 Index: source/test/intltest/windttst.h
 ===================================================================
---- source/test/intltest/windttst.h	(revision 40154)
+--- source/test/intltest/windttst.h	(revision 43491)
 +++ source/test/intltest/windttst.h	(working copy)
-@@ -14,7 +14,7 @@
+@@ -16,7 +16,7 @@
  
  #include "unicode/utypes.h"
  
@@ -235,7 +214,7 @@
  
  #if !UCONFIG_NO_FORMATTING
  
-@@ -36,6 +36,6 @@
+@@ -38,6 +38,6 @@
  
  #endif /* #if !UCONFIG_NO_FORMATTING */
  
@@ -245,9 +224,9 @@
  #endif // __WINDTTST
 Index: source/test/intltest/winutil.cpp
 ===================================================================
---- source/test/intltest/winutil.cpp	(revision 40154)
+--- source/test/intltest/winutil.cpp	(revision 43491)
 +++ source/test/intltest/winutil.cpp	(working copy)
-@@ -11,7 +11,7 @@
+@@ -13,7 +13,7 @@
  
  #include "unicode/utypes.h"
  
@@ -256,7 +235,7 @@
  
  #if !UCONFIG_NO_FORMATTING
  
-@@ -93,4 +93,4 @@
+@@ -95,4 +95,4 @@
  
  #endif /* #if !UCONFIG_NO_FORMATTING */
  
@@ -264,9 +243,9 @@
 +#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
 Index: source/test/intltest/winutil.h
 ===================================================================
---- source/test/intltest/winutil.h	(revision 40154)
+--- source/test/intltest/winutil.h	(revision 43491)
 +++ source/test/intltest/winutil.h	(working copy)
-@@ -14,7 +14,7 @@
+@@ -16,7 +16,7 @@
  
  #include "unicode/utypes.h"
  
@@ -275,7 +254,7 @@
  
  #if !UCONFIG_NO_FORMATTING
  
-@@ -41,6 +41,6 @@
+@@ -43,6 +43,6 @@
  
  #endif /* #if !UCONFIG_NO_FORMATTING */
  
@@ -285,9 +264,9 @@
  #endif // __WINUTIL
 Index: source/test/perf/collperf/collperf.cpp
 ===================================================================
---- source/test/perf/collperf/collperf.cpp	(revision 40154)
+--- source/test/perf/collperf/collperf.cpp	(revision 43491)
 +++ source/test/perf/collperf/collperf.cpp	(working copy)
-@@ -113,7 +113,7 @@
+@@ -118,7 +118,7 @@
              ucol_getSortKey(col, data[i].icu_data, data[i].icu_data_len, icu_key, MAX_KEY_LENGTH);
          }
  
@@ -296,7 +275,7 @@
          // 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)
-@@ -295,7 +295,7 @@
+@@ -300,7 +300,7 @@
          return strcmp((char *) da->icu_key, (char *) db->icu_key); 
      }
  
@@ -305,7 +284,7 @@
      static int win_cmp_null(const void *a, const void *b) {
          QCAST();
          //CSTR_LESS_THAN		1
-@@ -330,7 +330,7 @@
+@@ -335,7 +335,7 @@
  
      QFUNC(posix_strcoll_null, strcoll, posix_data)
          QFUNC(posix_cmpkey, strcmp, posix_key)
@@ -314,7 +293,7 @@
          QFUNC(win_cmpkey, strcmp, win_key)
          QFUNC(win_wcscmp, wcscmp, win_data)
  #endif
-@@ -450,7 +450,7 @@
+@@ -455,7 +455,7 @@
              return strcmp( (char *) rnd[i].icu_key, (char *) ord[j].icu_key );
          }
  
@@ -323,7 +302,7 @@
          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){
-@@ -587,7 +587,7 @@
+@@ -592,7 +592,7 @@
              locale = "en_US";   // set default locale
          }
  
@@ -332,7 +311,7 @@
          if (options[i].doesOccur) {
              char *endp;
              int tmp = strtol(options[i].value, &endp, 0);
-@@ -687,7 +687,7 @@
+@@ -692,7 +692,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);
@@ -341,7 +320,7 @@
          TEST_KEYGEN(TestWin_KeyGen_null, win_key_null);
          TEST_KEYGEN(TestWin_KeyGen_len, win_key_len);
  #endif
-@@ -713,7 +713,7 @@
+@@ -718,7 +718,7 @@
          TEST_QSORT(TestIcu_qsort_usekey, icu_cmpkey);
          TEST_QSORT(TestPosix_qsort_strcoll_null, posix_strcoll_null);
          TEST_QSORT(TestPosix_qsort_usekey, posix_cmpkey);
@@ -350,7 +329,7 @@
          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);
-@@ -728,7 +728,7 @@
+@@ -733,7 +733,7 @@
          TEST_BIN(TestIcu_BinarySearch_cmpCPO, icu_cmpcpo);
          TEST_BIN(TestPosix_BinarySearch_strcoll_null, posix_strcoll_null);
          TEST_BIN(TestPosix_BinarySearch_usekey, posix_cmpkey);
@@ -359,7 +338,7 @@
          TEST_BIN(TestWin_BinarySearch_CompareStringW_null, win_cmp_null);
          TEST_BIN(TestWin_BinarySearch_CompareStringW_len, win_cmp_len);
  #endif
-@@ -828,7 +828,7 @@
+@@ -833,7 +833,7 @@
              t = strxfrm(posix_key->last(), posix_data->dataOf(i), s);
              if (t != s) {status = U_INVALID_FORMAT_ERROR;return;}
  
@@ -368,7 +347,7 @@
              // Win data
              s = icu_data->lengthOf(i) + 1; // plus terminal NULL
              win_data->append_one(s);
-@@ -851,7 +851,7 @@
+@@ -856,7 +856,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);
@@ -377,7 +356,7 @@
              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);
-@@ -870,7 +870,7 @@
+@@ -875,7 +875,7 @@
          SORT(ord_icu_key, icu_cmpkey);
          SORT(ord_posix_data, posix_strcoll_null);
          SORT(ord_posix_key, posix_cmpkey);
@@ -388,9 +367,9 @@
          SORT(ord_win_wcscmp, win_wcscmp);
 Index: source/test/perf/normperf/normperf.h
 ===================================================================
---- source/test/perf/normperf/normperf.h	(revision 40154)
+--- source/test/perf/normperf/normperf.h	(revision 43491)
 +++ source/test/perf/normperf/normperf.h	(working copy)
-@@ -315,7 +315,7 @@
+@@ -319,7 +319,7 @@
  }
  #endif
  
@@ -401,9 +380,9 @@
      return FoldStringW(MAP_COMPOSITE,src,srcLen,dest,dstLen);
 Index: source/tools/ctestfw/unicode/utimer.h
 ===================================================================
---- source/tools/ctestfw/unicode/utimer.h	(revision 40154)
+--- source/tools/ctestfw/unicode/utimer.h	(revision 43491)
 +++ source/tools/ctestfw/unicode/utimer.h	(working copy)
-@@ -10,7 +10,7 @@
+@@ -12,7 +12,7 @@
  
  #include "unicode/utypes.h"
  
@@ -412,7 +391,7 @@
  #   define VC_EXTRALEAN
  #   define WIN32_LEAN_AND_MEAN
  #   include <windows.h>
-@@ -160,7 +160,7 @@
+@@ -162,7 +162,7 @@
  typedef void FuntionToBeTimed(void* param);
  
  
@@ -423,9 +402,9 @@
          LARGE_INTEGER start;
 Index: source/tools/genrb/derb.cpp
 ===================================================================
---- source/tools/genrb/derb.cpp	(revision 40154)
+--- source/tools/genrb/derb.cpp	(revision 43491)
 +++ source/tools/genrb/derb.cpp	(working copy)
-@@ -204,7 +204,7 @@
+@@ -206,7 +206,7 @@
          UBool fromICUData = !uprv_strcmp(inputDir, "-");
          if (!fromICUData) {
              UBool absfilename = *arg == U_FILE_SEP_CHAR;
@@ -436,9 +415,9 @@
                      && arg[1] == ':' && arg[2] == U_FILE_SEP_CHAR);
 Index: source/tools/toolutil/udbgutil.cpp
 ===================================================================
---- source/tools/toolutil/udbgutil.cpp	(revision 40154)
+--- source/tools/toolutil/udbgutil.cpp	(revision 43491)
 +++ source/tools/toolutil/udbgutil.cpp	(working copy)
-@@ -348,8 +348,10 @@
+@@ -351,8 +351,10 @@
   */
  U_CAPI const char *udbg_getPlatform(void)
  {

Modified: trunk/Build/source/libs/icu/TLpatches/patch-20-private
===================================================================
--- trunk/Build/source/libs/icu/TLpatches/patch-20-private	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/TLpatches/patch-20-private	2017-03-13 23:56:43 UTC (rev 43492)
@@ -5,11 +5,11 @@
 	http://tug.org/pipermail/tlbuild/2016q1/003438.html
 	(and starting at http://tug.org/pipermail/tlbuild/2016q1/003433.html)
 
-Index: icu-src/source/i18n/dayperiodrules.h
+Index: source/i18n/dayperiodrules.h
 ===================================================================
---- icu-src/source/i18n/dayperiodrules.h	(revision 40174)
-+++ icu-src/source/i18n/dayperiodrules.h	(working copy)
-@@ -53,7 +53,7 @@
+--- source/i18n/dayperiodrules.h	(revision 43491)
++++ source/i18n/dayperiodrules.h	(working copy)
+@@ -55,7 +55,7 @@
      // Returns the center of dayPeriod. Half hours are indicated with a .5 .
      double getMidPointForDayPeriod(DayPeriod dayPeriod, UErrorCode &errorCode) const;
  
@@ -18,30 +18,11 @@
      DayPeriodRules();
  
      // Translates "morning1" to DAYPERIOD_MORNING1, for example.
-Index: icu-src/source/i18n/unicode/dtitvinf.h
+Index: source/i18n/unicode/dtitvinf.h
 ===================================================================
---- icu-src/source/i18n/unicode/dtitvinf.h	(revision 40174)
-+++ icu-src/source/i18n/unicode/dtitvinf.h	(working copy)
-@@ -150,7 +150,8 @@
- 
- class U_I18N_API DateIntervalInfo U_FINAL : public UObject {
- public:
--#ifndef U_HIDE_INTERNAL_API
-+/* nothing private to placate old compilers --karl/koch */
-+/* ifndef U_HIDE_INTERNAL_API */
-     /**
-      * Default constructor.
-      * It does not initialize any interval patterns except
-@@ -165,7 +166,7 @@
-      * @internal ICU 4.0
-      */
-     DateIntervalInfo(UErrorCode& status);
--#endif  /* U_HIDE_INTERNAL_API */
-+/* endif */  /* U_HIDE_INTERNAL_API */
- 
- 
-     /**
-@@ -328,7 +329,7 @@
+--- source/i18n/unicode/dtitvinf.h	(revision 43491)
++++ source/i18n/unicode/dtitvinf.h	(working copy)
+@@ -330,7 +330,7 @@
      static UClassID U_EXPORT2 getStaticClassID();
  
  
@@ -50,7 +31,7 @@
      /**
       * DateIntervalFormat will need access to
       * getBestSkeleton(), parseSkeleton(), enum IntervalPatternIndex,
-@@ -359,7 +360,8 @@
+@@ -364,7 +364,8 @@
          kIPI_MAX_INDEX
      };
  public:
@@ -60,7 +41,7 @@
      /**
       * Max index for stored interval patterns
       * @internal ICU 4.4
-@@ -367,8 +369,8 @@
+@@ -372,8 +373,8 @@
       enum {
           kMaxIntervalPatternIndex = kIPI_MAX_INDEX
       };

Modified: trunk/Build/source/libs/icu/configure
===================================================================
--- trunk/Build/source/libs/icu/configure	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/configure	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for icu (TeX Live) 57.1.
+# Generated by GNU Autoconf 2.69 for icu (TeX Live) 58.2.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -579,8 +579,8 @@
 # Identity of this package.
 PACKAGE_NAME='icu (TeX Live)'
 PACKAGE_TARNAME='icu--tex-live-'
-PACKAGE_VERSION='57.1'
-PACKAGE_STRING='icu (TeX Live) 57.1'
+PACKAGE_VERSION='58.2'
+PACKAGE_STRING='icu (TeX Live) 58.2'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1258,7 +1258,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures icu (TeX Live) 57.1 to adapt to many kinds of systems.
+\`configure' configures icu (TeX Live) 58.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1328,7 +1328,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of icu (TeX Live) 57.1:";;
+     short | recursive ) echo "Configuration of icu (TeX Live) 58.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1426,7 +1426,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-icu (TeX Live) configure 57.1
+icu (TeX Live) configure 58.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1565,7 +1565,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by icu (TeX Live) $as_me 57.1, which was
+It was created by icu (TeX Live) $as_me 58.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3488,7 +3488,7 @@
 
 # Define the identity of the package.
  PACKAGE='icu--tex-live-'
- VERSION='57.1'
+ VERSION='58.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4866,7 +4866,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by icu (TeX Live) $as_me 57.1, which was
+This file was extended by icu (TeX Live) $as_me 58.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -4923,7 +4923,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-icu (TeX Live) config.status 57.1
+icu (TeX Live) config.status 58.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/libs/icu/icu-src/source/common/putil.cpp
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/common/putil.cpp	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/common/putil.cpp	2017-03-13 23:56:43 UTC (rev 43492)
@@ -43,6 +43,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"
@@ -104,21 +118,7 @@
 #   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.
  *

Modified: trunk/Build/source/libs/icu/icu-src/source/common/putilimp.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/common/putilimp.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/common/putilimp.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -193,7 +193,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.

Modified: trunk/Build/source/libs/icu/icu-src/source/common/umutex.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/common/umutex.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/common/umutex.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -76,7 +76,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.

Modified: trunk/Build/source/libs/icu/icu-src/source/common/uposixdefs.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/common/uposixdefs.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/common/uposixdefs.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -51,10 +51,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
 

Modified: trunk/Build/source/libs/icu/icu-src/source/common/wintz.c
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/common/wintz.c	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/common/wintz.c	2017-03-13 23:56:43 UTC (rev 43492)
@@ -13,7 +13,7 @@
 
 #include "unicode/utypes.h"
 
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
 
 #include "wintz.h"
 #include "cmemory.h"
@@ -438,4 +438,4 @@
     return icuid;
 }
 
-#endif /* U_PLATFORM_HAS_WIN32_API */
+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */

Modified: trunk/Build/source/libs/icu/icu-src/source/common/wintz.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/common/wintz.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/common/wintz.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -16,7 +16,7 @@
 
 #include "unicode/utypes.h"
 
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
 
 /**
  * \file 
@@ -31,6 +31,6 @@
 U_CFUNC const char* U_EXPORT2
 uprv_detectWindowsTimeZone();
 
-#endif /* U_PLATFORM_HAS_WIN32_API */
+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
 
 #endif /* __WINTZ */

Modified: trunk/Build/source/libs/icu/icu-src/source/config/Makefile.inc.in
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/config/Makefile.inc.in	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/config/Makefile.inc.in	2017-03-13 23:56:43 UTC (rev 43492)
@@ -46,7 +46,7 @@
 LIBICU = lib$(ICUPREFIX)
 
 # Static library prefix and file extension
-STATIC_PREFIX = s
+STATIC_PREFIX =
 LIBSICU = lib$(STATIC_PREFIX)$(ICUPREFIX)
 A = a
 

Modified: trunk/Build/source/libs/icu/icu-src/source/config/mh-mingw
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/config/mh-mingw	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/config/mh-mingw	2017-03-13 23:56:43 UTC (rev 43492)
@@ -61,27 +61,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 = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
-A = a
-
 ## An import library is needed for z/OS and MSVC
 IMPORT_LIB_EXT = .dll.a
 
-LIBPREFIX=lib
-
-# 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}"

Modified: trunk/Build/source/libs/icu/icu-src/source/config.guess
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/config.guess	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/config.guess	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2013-11-29'
+timestamp='2017-03-05'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -24,12 +24,12 @@
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -149,7 +149,7 @@
 	LIBC=gnu
 	#endif
 	EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
 	;;
 esac
 
@@ -168,8 +168,10 @@
 	# Note: NetBSD doesn't particularly care about the vendor
 	# portion of the name.  We always set it to "unknown".
 	sysctl="sysctl -n hw.machine_arch"
-	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+	    /sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || \
+	    echo unknown)`
 	case "${UNAME_MACHINE_ARCH}" in
 	    armeb) machine=armeb-unknown ;;
 	    arm*) machine=arm-unknown ;;
@@ -176,11 +178,19 @@
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
 	    sh5el) machine=sh5le-unknown ;;
+	    earmv*)
+		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+		machine=${arch}${endian}-unknown
+		;;
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
+	# to ELF recently (or will in the future) and ABI.
 	case "${UNAME_MACHINE_ARCH}" in
+	    earm*)
+		os=netbsdelf
+		;;
 	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
 		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -197,6 +207,13 @@
 		os=netbsd
 		;;
 	esac
+	# Determine ABI tags.
+	case "${UNAME_MACHINE_ARCH}" in
+	    earm*)
+		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+		abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+		;;
+	esac
 	# The OS release
 	# Debian GNU/NetBSD machines have a different userland, and
 	# thus, need a distinct triplet. However, they do not need
@@ -207,13 +224,13 @@
 		release='-gnu'
 		;;
 	    *)
-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
 		;;
 	esac
 	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
 	# contains redundant information, the shorter form:
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
+	echo "${machine}-${os}${release}${abi}"
 	exit ;;
     *:Bitrig:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -223,6 +240,10 @@
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
 	exit ;;
+    *:LibertyBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+	exit ;;
     *:ekkoBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
 	exit ;;
@@ -235,6 +256,9 @@
     *:MirBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
 	exit ;;
+    *:Sortix:*:*)
+	echo ${UNAME_MACHINE}-unknown-sortix
+	exit ;;
     alpha:OSF1:*:*)
 	case $UNAME_RELEASE in
 	*4.0)
@@ -251,35 +275,35 @@
 	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
 	case "$ALPHA_CPU_TYPE" in
 	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
+		UNAME_MACHINE=alphaev5 ;;
 	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
+		UNAME_MACHINE=alphaev56 ;;
 	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
+		UNAME_MACHINE=alphapca56 ;;
 	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
+		UNAME_MACHINE=alphapca57 ;;
 	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
+		UNAME_MACHINE=alphaev6 ;;
 	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
+		UNAME_MACHINE=alphaev67 ;;
 	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
+		UNAME_MACHINE=alphaev69 ;;
 	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
+		UNAME_MACHINE=alphaev7 ;;
 	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
+		UNAME_MACHINE=alphaev79 ;;
 	esac
 	# A Pn.n version is a patched version.
 	# A Vn.n version is a released version.
@@ -286,7 +310,7 @@
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
 	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
 	exitcode=$?
 	trap '' 0
@@ -359,16 +383,16 @@
 	exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 	eval $set_cc_for_build
-	SUN_ARCH="i386"
+	SUN_ARCH=i386
 	# If there is a compiler, see if it is configured for 64-bit objects.
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
 	# This test works for both compilers.
-	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		grep IS_64BIT_ARCH >/dev/null
 	    then
-		SUN_ARCH="x86_64"
+		SUN_ARCH=x86_64
 	    fi
 	fi
 	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -393,7 +417,7 @@
 	exit ;;
     sun*:*:4.2BSD:*)
 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
 	case "`/bin/arch`" in
 	    sun3)
 		echo m68k-sun-sunos${UNAME_RELEASE}
@@ -579,8 +603,9 @@
 	else
 		IBM_ARCH=powerpc
 	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
+	if [ -x /usr/bin/lslpp ] ; then
+		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
 	else
 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 	fi
@@ -617,13 +642,13 @@
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
 		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
 		    case "${sc_cpu_version}" in
-		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
 		      532)                      # CPU_PA_RISC2_0
 			case "${sc_kernel_bits}" in
-			  32) HP_ARCH="hppa2.0n" ;;
-			  64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+			  32) HP_ARCH=hppa2.0n ;;
+			  64) HP_ARCH=hppa2.0w ;;
+			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
 			esac ;;
 		    esac
 		fi
@@ -662,11 +687,11 @@
 		    exit (0);
 		}
 EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
 		fi ;;
 	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
+	if [ ${HP_ARCH} = hppa2.0w ]
 	then
 	    eval $set_cc_for_build
 
@@ -679,12 +704,12 @@
 	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
 	    # => hppa64-hp-hpux11.23
 
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
 		grep -q __LP64__
 	    then
-		HP_ARCH="hppa2.0w"
+		HP_ARCH=hppa2.0w
 	    else
-		HP_ARCH="hppa64"
+		HP_ARCH=hppa64
 	    fi
 	fi
 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -789,14 +814,14 @@
 	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
 	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
 	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     5000:UNIX_System_V:4.*:*)
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
 	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -812,10 +837,11 @@
 	UNAME_PROCESSOR=`/usr/bin/uname -p`
 	case ${UNAME_PROCESSOR} in
 	    amd64)
-		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    *)
-		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+		UNAME_PROCESSOR=x86_64 ;;
+	    i386)
+		UNAME_PROCESSOR=i586 ;;
 	esac
+	echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
 	exit ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
@@ -826,7 +852,7 @@
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
-    i*:MSYS*:*)
+    *:MSYS*:*)
 	echo ${UNAME_MACHINE}-pc-msys
 	exit ;;
     i*:windows32*:*)
@@ -878,7 +904,7 @@
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
@@ -901,7 +927,7 @@
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
@@ -932,6 +958,9 @@
     crisv32:Linux:*:*)
 	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
+    e2k:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     frv:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
@@ -944,6 +973,9 @@
     ia64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
+    k1om:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     m32r*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
@@ -969,10 +1001,13 @@
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
-    or1k:Linux:*:*)
+    mips64el:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
-    or32:Linux:*:*)
+    openrisc*:Linux:*:*)
+	echo or1k-unknown-linux-${LIBC}
+	exit ;;
+    or32:Linux:*:* | or1k*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     padre:Linux:*:*)
@@ -1001,6 +1036,9 @@
     ppcle:Linux:*:*)
 	echo powerpcle-unknown-linux-${LIBC}
 	exit ;;
+    riscv32:Linux:*:* | riscv64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
@@ -1020,7 +1058,7 @@
 	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
 	exit ;;
     xtensa*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
@@ -1099,7 +1137,7 @@
 	# uname -m prints for DJGPP always 'pc', but it prints nothing about
 	# the processor, so we play safe by assuming i586.
 	# Note: whatever this is, it MUST be the same as what config.sub
-	# prints for the "djgpp" host, or else GDB configury will decide that
+	# prints for the "djgpp" host, or else GDB configure will decide that
 	# this is a cross-build.
 	echo i586-pc-msdosdjgpp
 	exit ;;
@@ -1248,6 +1286,9 @@
     SX-8R:SUPER-UX:*:*)
 	echo sx8r-nec-superux${UNAME_RELEASE}
 	exit ;;
+    SX-ACE:SUPER-UX:*:*)
+	echo sxace-nec-superux${UNAME_RELEASE}
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit ;;
@@ -1261,9 +1302,9 @@
 	    UNAME_PROCESSOR=powerpc
 	fi
 	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		    (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		    grep IS_64BIT_ARCH >/dev/null
 		then
 		    case $UNAME_PROCESSOR in
@@ -1285,7 +1326,7 @@
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
+	if test "$UNAME_PROCESSOR" = x86; then
 		UNAME_PROCESSOR=i386
 		UNAME_MACHINE=pc
 	fi
@@ -1303,6 +1344,9 @@
     NSR-?:NONSTOP_KERNEL:*:*)
 	echo nsr-tandem-nsk${UNAME_RELEASE}
 	exit ;;
+    NSX-?:NONSTOP_KERNEL:*:*)
+	echo nsx-tandem-nsk${UNAME_RELEASE}
+	exit ;;
     *:NonStop-UX:*:*)
 	echo mips-compaq-nonstopux
 	exit ;;
@@ -1316,7 +1360,7 @@
 	# "uname -m" is not consistent, so use $cputype instead. 386
 	# is converted to i386 for consistency with other x86
 	# operating systems.
-	if test "$cputype" = "386"; then
+	if test "$cputype" = 386; then
 	    UNAME_MACHINE=i386
 	else
 	    UNAME_MACHINE="$cputype"
@@ -1358,7 +1402,7 @@
 	echo i386-pc-xenix
 	exit ;;
     i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
 	exit ;;
     i*86:rdos:*:*)
 	echo ${UNAME_MACHINE}-pc-rdos
@@ -1369,171 +1413,25 @@
     x86_64:VMkernel:*:*)
 	echo ${UNAME_MACHINE}-unknown-esx
 	exit ;;
+    amd64:Isilon\ OneFS:*:*)
+	echo x86_64-unknown-onefs
+	exit ;;
 esac
 
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-	"4"
-#else
-	""
-#endif
-	); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-	{ echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit ;;
-    c34*)
-	echo c34-convex-bsd
-	exit ;;
-    c38*)
-	echo c38-convex-bsd
-	exit ;;
-    c4*)
-	echo c4-convex-bsd
-	exit ;;
-    esac
-fi
-
 cat >&2 <<EOF
 $0: unable to guess system type
 
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite
+config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches at gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches at gnu.org to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 

Modified: trunk/Build/source/libs/icu/icu-src/source/config.sub
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/config.sub	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/config.sub	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2013-10-01'
+timestamp='2017-02-07'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
 # of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -33,7 +33,7 @@
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -53,8 +53,7 @@
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
 
 Canonicalize a configuration name.
 
@@ -68,7 +67,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,8 +116,8 @@
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
-  kopensolaris*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+  kopensolaris*-gnu* | cloudabi*-eabi* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -255,12 +254,13 @@
 	| arc | arceb \
 	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
 	| avr | avr32 \
+	| ba \
 	| be32 | be64 \
 	| bfin \
 	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
-	| epiphany \
-	| fido | fr30 | frv \
+	| e2k | epiphany \
+	| fido | fr30 | frv | ft32 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| hexagon \
 	| i370 | i860 | i960 | ia64 \
@@ -283,8 +283,10 @@
 	| mips64vr5900 | mips64vr5900el \
 	| mipsisa32 | mipsisa32el \
 	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa32r6 | mipsisa32r6el \
 	| mipsisa64 | mipsisa64el \
 	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64r6 | mipsisa64r6el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipsr5900 | mipsr5900el \
@@ -296,14 +298,15 @@
 	| nds32 | nds32le | nds32be \
 	| nios | nios2 | nios2eb | nios2el \
 	| ns16k | ns32k \
-	| open8 \
-	| or1k | or32 \
+	| open8 | or1k | or1knd | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
+	| pru \
 	| pyramid \
+	| riscv32 | riscv64 \
 	| rl78 | rx \
 	| score \
-	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -311,6 +314,7 @@
 	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
 	| ubicom32 \
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+	| visium \
 	| we32k \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
@@ -325,6 +329,9 @@
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
+	leon|leon[3-9])
+		basic_machine=sparc-$basic_machine
+		;;
 	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
@@ -370,12 +377,13 @@
 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
+	| ba-* \
 	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
 	| c8051-* | clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
-	| elxsi-* \
+	| e2k-* | elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -402,8 +410,10 @@
 	| mips64vr5900-* | mips64vr5900el-* \
 	| mipsisa32-* | mipsisa32el-* \
 	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa32r6-* | mipsisa32r6el-* \
 	| mipsisa64-* | mipsisa64el-* \
 	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64r6-* | mipsisa64r6el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
 	| mipsr5900-* | mipsr5900el-* \
@@ -415,16 +425,19 @@
 	| nios-* | nios2-* | nios2eb-* | nios2el-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| open8-* \
+	| or1k*-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+	| pru-* \
 	| pyramid-* \
+	| riscv32-* | riscv64-* \
 	| rl78-* | romp-* | rs6000-* | rx-* \
 	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
 	| tahoe-* \
 	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
 	| tile*-* \
@@ -432,6 +445,7 @@
 	| ubicom32-* \
 	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
 	| vax-* \
+	| visium-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
@@ -508,6 +522,9 @@
 		basic_machine=i386-pc
 		os=-aros
 		;;
+	asmjs)
+		basic_machine=asmjs-unknown
+		;;
 	aux)
 		basic_machine=m68k-apple
 		os=-aux
@@ -628,6 +645,14 @@
 		basic_machine=m68k-bull
 		os=-sysv3
 		;;
+	e500v[12])
+		basic_machine=powerpc-unknown
+		os=$os"spe"
+		;;
+	e500v[12]-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=$os"spe"
+		;;
 	ebmon29k)
 		basic_machine=a29k-amd
 		os=-ebmon
@@ -769,6 +794,9 @@
 		basic_machine=m68k-isi
 		os=-sysv
 		;;
+	leon-*|leon[3-9]-*)
+		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+		;;
 	m68knommu)
 		basic_machine=m68k-unknown
 		os=-linux
@@ -824,6 +852,10 @@
 		basic_machine=powerpc-unknown
 		os=-morphos
 		;;
+	moxiebox)
+		basic_machine=moxie-unknown
+		os=-moxiebox
+		;;
 	msdos)
 		basic_machine=i386-pc
 		os=-msdos
@@ -916,6 +948,9 @@
 	nsr-tandem)
 		basic_machine=nsr-tandem
 		;;
+	nsx-tandem)
+		basic_machine=nsx-tandem
+		;;
 	op50n-* | op60c-*)
 		basic_machine=hppa1.1-oki
 		os=-proelf
@@ -1000,7 +1035,7 @@
 	ppc-* | ppcbe-*)
 		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
+	ppcle | powerpclittle)
 		basic_machine=powerpcle-unknown
 		;;
 	ppcle-* | powerpclittle-*)
@@ -1010,7 +1045,7 @@
 		;;
 	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+	ppc64le | powerpc64little)
 		basic_machine=powerpc64le-unknown
 		;;
 	ppc64le-* | powerpc64little-*)
@@ -1356,20 +1391,20 @@
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
 	      | -sym* | -kopensolaris* | -plan9* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* | -aros* \
+	      | -aos* | -aros* | -cloudabi* | -sortix* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -bitrig* | -openbsd* | -solidbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -chorusos* | -chorusrdb* | -cegcc* \
+	      | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
@@ -1376,7 +1411,8 @@
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1508,6 +1544,8 @@
 		;;
 	-nacl*)
 		;;
+	-ios)
+		;;
 	-none)
 		;;
 	*)
@@ -1594,9 +1632,6 @@
 	mips*-*)
 		os=-elf
 		;;
-	or1k-*)
-		os=-elf
-		;;
 	or32-*)
 		os=-coff
 		;;
@@ -1606,6 +1641,9 @@
 	sparc-* | *-sun)
 		os=-sunos4.1.1
 		;;
+	pru-*)
+		os=-elf
+		;;
 	*-be)
 		os=-beos
 		;;

Modified: trunk/Build/source/libs/icu/icu-src/source/configure
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/configure	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/configure	2017-03-13 23:56:43 UTC (rev 43492)
@@ -2830,7 +2830,7 @@
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
-  for ac_prog in clang gcc cc c99 c89 xlc_r xlc cl.exe icc
+  for ac_prog in gcc cc clang c99 c89 xlc_r xlc cl.exe icc
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
@@ -2874,7 +2874,7 @@
 fi
 if test -z "$CC"; then
   ac_ct_CC=$CC
-  for ac_prog in clang gcc cc c99 c89 xlc_r xlc cl.exe icc
+  for ac_prog in gcc cc clang c99 c89 xlc_r xlc cl.exe icc
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -3433,7 +3433,7 @@
     CXX=$CCC
   else
     if test -n "$ac_tool_prefix"; then
-  for ac_prog in clang++ g++ c++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC
+  for ac_prog in g++ c++ clang++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
@@ -3477,7 +3477,7 @@
 fi
 if test -z "$CXX"; then
   ac_ct_CXX=$CXX
-  for ac_prog in clang++ g++ c++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC
+  for ac_prog in g++ c++ clang++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2

Modified: trunk/Build/source/libs/icu/icu-src/source/configure.ac
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/configure.ac	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/configure.ac	2017-03-13 23:56:43 UTC (rev 43492)
@@ -133,10 +133,10 @@
 : ${CXXFLAGS=""}
 
 # Checks for compilers
-AC_PROG_CC([clang gcc cc c99 c89 xlc_r xlc cl.exe icc])
+AC_PROG_CC([gcc cc clang c99 c89 xlc_r xlc cl.exe icc])
 # Make sure that we try clang++ first, which provides C++11 support.
 # The g++ compiler is less likely to support C++11.
-AC_PROG_CXX([clang++ g++ c++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC])
+AC_PROG_CXX([g++ c++ clang++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC])
 
 # pkg-config is needed for harfbuzz support
 PKG_PROG_PKG_CONFIG([0.20])

Modified: trunk/Build/source/libs/icu/icu-src/source/data/in/icudt58l.dat
===================================================================
(Binary files differ)

Modified: trunk/Build/source/libs/icu/icu-src/source/i18n/datefmt.cpp
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/i18n/datefmt.cpp	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/i18n/datefmt.cpp	2017-03-13 23:56:43 UTC (rev 43492)
@@ -498,7 +498,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);
 

Modified: trunk/Build/source/libs/icu/icu-src/source/i18n/dayperiodrules.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/i18n/dayperiodrules.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/i18n/dayperiodrules.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -55,7 +55,7 @@
     // Returns the center of dayPeriod. Half hours are indicated with a .5 .
     double getMidPointForDayPeriod(DayPeriod dayPeriod, UErrorCode &errorCode) const;
 
-private:
+/* nothing private to placate old compilers --karl/koch private: */
     DayPeriodRules();
 
     // Translates "morning1" to DAYPERIOD_MORNING1, for example.

Modified: trunk/Build/source/libs/icu/icu-src/source/i18n/unicode/dtitvinf.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/i18n/unicode/dtitvinf.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/i18n/unicode/dtitvinf.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -330,7 +330,7 @@
     static UClassID U_EXPORT2 getStaticClassID();
 
 
-private:
+/* nothing private to placate old compilers --karl/koch private: */
     /**
      * DateIntervalFormat will need access to
      * getBestSkeleton(), parseSkeleton(), enum IntervalPatternIndex,
@@ -364,7 +364,8 @@
         kIPI_MAX_INDEX
     };
 public:
-#ifndef U_HIDE_INTERNAL_API
+/* nothing private to placate old compilers --karl/koch */
+/* ifndef U_HIDE_INTERNAL_API */
     /**
      * Max index for stored interval patterns
      * @internal ICU 4.4
@@ -372,8 +373,8 @@
      enum {
          kMaxIntervalPatternIndex = kIPI_MAX_INDEX
      };
-#endif  /* U_HIDE_INTERNAL_API */
-private:
+/* endif */  /* U_HIDE_INTERNAL_API */
+/* nothing private to placate old compilers --karl/koch private: */
 
 
     /**

Modified: trunk/Build/source/libs/icu/icu-src/source/i18n/windtfmt.cpp
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/i18n/windtfmt.cpp	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/i18n/windtfmt.cpp	2017-03-13 23:56:43 UTC (rev 43492)
@@ -13,7 +13,7 @@
 
 #include "unicode/utypes.h"
 
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
 
 #if !UCONFIG_NO_FORMATTING
 
@@ -314,5 +314,5 @@
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
 
-#endif // U_PLATFORM_HAS_WIN32_API
+#endif // U_PLATFORM_USES_ONLY_WIN32_API
 

Modified: trunk/Build/source/libs/icu/icu-src/source/i18n/windtfmt.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/i18n/windtfmt.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/i18n/windtfmt.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -16,7 +16,7 @@
 
 #include "unicode/utypes.h"
 
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
 
 #if !UCONFIG_NO_FORMATTING
 
@@ -133,6 +133,6 @@
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
 
-#endif // U_PLATFORM_HAS_WIN32_API
+#endif // U_PLATFORM_USES_ONLY_WIN32_API
 
 #endif // __WINDTFMT

Modified: trunk/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.cpp
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.cpp	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.cpp	2017-03-13 23:56:43 UTC (rev 43492)
@@ -13,7 +13,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"
 

Modified: trunk/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -16,7 +16,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.
@@ -34,6 +34,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 */

Modified: trunk/Build/source/libs/icu/icu-src/source/icudefs.mk.in
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/icudefs.mk.in	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/icudefs.mk.in	2017-03-13 23:56:43 UTC (rev 43492)
@@ -209,13 +209,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)

Modified: trunk/Build/source/libs/icu/icu-src/source/install-sh
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/install-sh	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/install-sh	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,251 +1,501 @@
 #!/bin/sh
-#
 # install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
+
+scriptversion=2016-01-11.22; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
 #
-# Copyright 1991 by the Massachusetts Institute of Technology
+# Copyright (C) 1994 X Consortium
 #
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission.  M.I.T. makes no representations about the
-# suitability of this software for any purpose.  It is provided "as is"
-# without express or implied warranty.
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
 #
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
 # Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
-# from scratch.  It can only install one file at a time, a restriction
-# shared with many OS's install programs.
+# from scratch.
 
+tab='	'
+nl='
+'
+IFS=" $tab$nl"
 
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
 
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
+doit=${DOITPROG-}
+doit_exec=${doit:-exec}
 
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
 
-# put in absolute paths if you don't have them in your path; or use env. vars.
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
 
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
+posix_mkdir=
 
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
 rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
+stripcmd=
 
-while [ x"$1" != x ]; do
-    case $1 in
-	-c) instcmd="$cpprog"
-	    shift
-	    continue;;
+src=
+dst=
+dir_arg=
+dst_arg=
 
-	-d) dir_arg=true
-	    shift
-	    continue;;
+copy_on_change=false
+is_target_a_directory=possibly
 
-	-m) chmodcmd="$chmodprog $2"
-	    shift
-	    shift
-	    continue;;
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
 
-	-o) chowncmd="$chownprog $2"
-	    shift
-	    shift
-	    continue;;
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
 
-	-g) chgrpcmd="$chgrpprog $2"
-	    shift
-	    shift
-	    continue;;
+Options:
+     --help     display this help and exit.
+     --version  display version info and exit.
 
-	-s) stripcmd="$stripprog"
-	    shift
-	    continue;;
+  -c            (ignored)
+  -C            install only if different (preserve the last data modification time)
+  -d            create directories instead of installing files.
+  -g GROUP      $chgrpprog installed files to GROUP.
+  -m MODE       $chmodprog installed files to MODE.
+  -o USER       $chownprog installed files to USER.
+  -s            $stripprog installed files.
+  -t DIRECTORY  install into DIRECTORY.
+  -T            report an error if DSTFILE is a directory.
 
-	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
-	    shift
-	    continue;;
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+  RMPROG STRIPPROG
+"
 
-	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-	    shift
-	    continue;;
+while test $# -ne 0; do
+  case $1 in
+    -c) ;;
 
-	*)  if [ x"$src" = x ]
-	    then
-		src=$1
-	    else
-		# this colon is to work around a 386BSD /bin/sh bug
-		:
-		dst=$1
-	    fi
-	    shift
-	    continue;;
-    esac
+    -C) copy_on_change=true;;
+
+    -d) dir_arg=true;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+        case $mode in
+          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+            echo "$0: invalid mode: $mode" >&2
+            exit 1;;
+        esac
+        shift;;
+
+    -o) chowncmd="$chownprog $2"
+        shift;;
+
+    -s) stripcmd=$stripprog;;
+
+    -t)
+        is_target_a_directory=always
+        dst_arg=$2
+        # Protect names problematic for 'test' and other utilities.
+        case $dst_arg in
+          -* | [=\(\)!]) dst_arg=./$dst_arg;;
+        esac
+        shift;;
+
+    -T) is_target_a_directory=never;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    --) shift
+        break;;
+
+    -*) echo "$0: invalid option: $1" >&2
+        exit 1;;
+
+    *)  break;;
+  esac
+  shift
 done
 
-if [ x"$src" = x ]
-then
-	echo "install:	no input file specified"
-	exit 1
-else
-	true
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
 fi
 
-if [ x"$dir_arg" != x ]; then
-	dst=$src
-	src=""
-	
-	if [ -d $dst ]; then
-		instcmd=:
-		chmodcmd=""
-	else
-		instcmd=mkdir
-	fi
-else
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dst_arg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dst_arg"
+      shift # fnord
+    fi
+    shift # arg
+    dst_arg=$arg
+    # Protect names problematic for 'test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
+  done
+fi
 
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
-# if $src (and thus $dsttmp) contains '*'.
+if test $# -eq 0; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call 'install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
 
-	if [ -f $src -o -d $src ]
-	then
-		true
-	else
-		echo "install:  $src does not exist"
-		exit 1
-	fi
-	
-	if [ x"$dst" = x ]
-	then
-		echo "install:	no destination specified"
-		exit 1
-	else
-		true
-	fi
+if test -z "$dir_arg"; then
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+fi
 
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
+if test -z "$dir_arg"; then
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
 
-	if [ -d $dst ]
-	then
-		dst="$dst"/`basename $src`
-	else
-		true
-	fi
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+        u_plus_rw=
+      else
+        u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+        u_plus_rw=
+      else
+        u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
 fi
 
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+for src
+do
+  # Protect names problematic for 'test' and other utilities.
+  case $src in
+    -* | [=\(\)!]) src=./$src;;
+  esac
 
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+  else
 
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='	
-'
-IFS="${IFS-${defaultIFS}}"
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
 
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
+    if test -z "$dst_arg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+    dst=$dst_arg
 
-pathcomp=''
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test "$is_target_a_directory" = never; then
+        echo "$0: $dst_arg: Is a directory" >&2
+        exit 1
+      fi
+      dstdir=$dst
+      dst=$dstdir/`basename "$src"`
+      dstdir_status=0
+    else
+      dstdir=`dirname "$dst"`
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
 
-while [ $# -ne 0 ] ; do
-	pathcomp="${pathcomp}${1}"
-	shift
+  obsolete_mkdir_used=false
 
-	if [ ! -d "${pathcomp}" ] ;
-        then
-		$mkdirprog "${pathcomp}"
-	else
-		true
-	fi
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+        # Create intermediate dirs using mode 755 as modified by the umask.
+        # This is like FreeBSD 'install' as of 1997-10-28.
+        umask=`umask`
+        case $stripcmd.$umask in
+          # Optimize common cases.
+          *[2367][2367]) mkdir_umask=$umask;;
+          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
 
-	pathcomp="${pathcomp}/"
-done
-fi
+          *[0-7])
+            mkdir_umask=`expr $umask + 22 \
+              - $umask % 100 % 40 + $umask % 20 \
+              - $umask % 10 % 4 + $umask % 2
+            `;;
+          *) mkdir_umask=$umask,go-w;;
+        esac
 
-if [ x"$dir_arg" != x ]
-then
-	$doit $instcmd $dst &&
+        # With -d, create the new directory with the user-specified mode.
+        # Otherwise, rely on $mkdir_umask.
+        if test -n "$dir_arg"; then
+          mkdir_mode=-m$mode
+        else
+          mkdir_mode=
+        fi
 
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
+        posix_mkdir=false
+        case $umask in
+          *[123567][0-7][0-7])
+            # POSIX mkdir -p sets u+wx bits regardless of umask, which
+            # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+            ;;
+          *)
+            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
 
-# If we're going to rename the final executable, determine the name now.
+            if (umask $mkdir_umask &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+            then
+              if test -z "$dir_arg" || {
+                   # Check for POSIX incompatibilities with -m.
+                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                   # other-writable bit of parent directory when it shouldn't.
+                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                   case $ls_ld_tmpdir in
+                     d????-?r-*) different_mode=700;;
+                     d????-?--*) different_mode=755;;
+                     *) false;;
+                   esac &&
+                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                   }
+                 }
+              then posix_mkdir=:
+              fi
+              rmdir "$tmpdir/d" "$tmpdir"
+            else
+              # Remove any dirs left behind by ancient mkdir implementations.
+              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+            fi
+            trap '' 0;;
+        esac;;
+    esac
 
-	if [ x"$transformarg" = x ] 
-	then
-		dstfile=`basename $dst`
-	else
-		dstfile=`basename $dst $transformbasename | 
-			sed $transformarg`$transformbasename
-	fi
+    if
+      $posix_mkdir && (
+        umask $mkdir_umask &&
+        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
 
-# don't allow the sed command to completely eliminate the filename
+      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
 
-	if [ x"$dstfile" = x ] 
-	then
-		dstfile=`basename $dst`
-	else
-		true
-	fi
+      case $dstdir in
+        /*) prefix='/';;
+        [-=\(\)!]*) prefix='./';;
+        *)  prefix='';;
+      esac
 
-# Make a temp file name in the proper directory.
+      oIFS=$IFS
+      IFS=/
+      set -f
+      set fnord $dstdir
+      shift
+      set +f
+      IFS=$oIFS
 
-	dsttmp=$dstdir/#inst.$$#
+      prefixes=
 
-# Move or copy the file name to the temp name
+      for d
+      do
+        test X"$d" = X && continue
 
-	$doit $instcmd $src $dsttmp &&
+        prefix=$prefix$d
+        if test -d "$prefix"; then
+          prefixes=
+        else
+          if $posix_mkdir; then
+            (umask=$mkdir_umask &&
+             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+            # Don't fail if two instances are running concurrently.
+            test -d "$prefix" || exit 1
+          else
+            case $prefix in
+              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+              *) qprefix=$prefix;;
+            esac
+            prefixes="$prefixes '$qprefix'"
+          fi
+        fi
+        prefix=$prefix/
+      done
 
-	trap "rm -f ${dsttmp}" 0 &&
+      if test -n "$prefixes"; then
+        # Don't fail if two instances are running concurrently.
+        (umask $mkdir_umask &&
+         eval "\$doit_exec \$mkdirprog $prefixes") ||
+          test -d "$dstdir" || exit 1
+        obsolete_mkdir_used=true
+      fi
+    fi
+  fi
 
-# and set any options; do chmod last to preserve setuid bits
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
 
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
 
-	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
-	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
-	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
-	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
 
-# Now rename the file to the real destination.
+    # Copy the file name to the temp name.
+    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
 
-	$doit $rmcmd -f $dstdir/$dstfile &&
-	$doit $mvcmd $dsttmp $dstdir/$dstfile 
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
 
-fi &&
+    # If -C, don't bother to copy if it wouldn't change the file.
+    if $copy_on_change &&
+       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
+       set -f &&
+       set X $old && old=:$2:$4:$5:$6 &&
+       set X $new && new=:$2:$4:$5:$6 &&
+       set +f &&
+       test "$old" = "$new" &&
+       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+    then
+      rm -f "$dsttmp"
+    else
+      # Rename the file to the real destination.
+      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
 
+      # The rename failed, perhaps because mv can't rename something else
+      # to itself, or perhaps because mv is so ancient that it does not
+      # support -f.
+      {
+        # Now remove or move aside any old file at destination location.
+        # We try this two ways since rm can't unlink itself on some
+        # systems and the destination file might be busy for other
+        # reasons.  In this case, the final cleanup might fail but the new
+        # file should still install successfully.
+        {
+          test ! -f "$dst" ||
+          $doit $rmcmd -f "$dst" 2>/dev/null ||
+          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+          } ||
+          { echo "$0: cannot unlink or rename $dst" >&2
+            (exit 1); exit 1
+          }
+        } &&
 
-exit 0
+        # Now rename the file to the real destination.
+        $doit $mvcmd "$dsttmp" "$dst"
+      }
+    fi || exit 1
+
+    trap '' 0
+  fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:

Modified: trunk/Build/source/libs/icu/icu-src/source/test/intltest/dtfmttst.cpp
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/test/intltest/dtfmttst.cpp	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/test/intltest/dtfmttst.cpp	2017-03-13 23:56:43 UTC (rev 43492)
@@ -25,7 +25,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
 
@@ -2374,7 +2374,7 @@
 
 void DateFormatTest::TestHost(void)
 {
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
     Win32DateTimeTest::testLocales(this);
 #endif
 }

Modified: trunk/Build/source/libs/icu/icu-src/source/test/intltest/uobjtest.cpp
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/test/intltest/uobjtest.cpp	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/test/intltest/uobjtest.cpp	2017-03-13 23:56:43 UTC (rev 43492)
@@ -384,13 +384,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
+#if U_PLATFORM_USES_ONLY_WIN32_API
     TESTCLASSID_FACTORY(Win32DateFormat, DateFormat::createDateInstance(DateFormat::kFull, Locale("@compat=host")));
-#if U_PLATFORM_USES_ONLY_WIN32_API
     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!  */

Modified: trunk/Build/source/libs/icu/icu-src/source/test/intltest/windttst.cpp
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/test/intltest/windttst.cpp	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/test/intltest/windttst.cpp	2017-03-13 23:56:43 UTC (rev 43492)
@@ -13,7 +13,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 */

Modified: trunk/Build/source/libs/icu/icu-src/source/test/intltest/windttst.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/test/intltest/windttst.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/test/intltest/windttst.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -16,7 +16,7 @@
 
 #include "unicode/utypes.h"
 
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
 
 #if !UCONFIG_NO_FORMATTING
 
@@ -38,6 +38,6 @@
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
 
-#endif // U_PLATFORM_HAS_WIN32_API
+#endif // U_PLATFORM_USES_ONLY_WIN32_API
 
 #endif // __WINDTTST

Modified: trunk/Build/source/libs/icu/icu-src/source/test/intltest/winutil.cpp
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/test/intltest/winutil.cpp	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/test/intltest/winutil.cpp	2017-03-13 23:56:43 UTC (rev 43492)
@@ -13,7 +13,7 @@
 
 #include "unicode/utypes.h"
 
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
 
 #if !UCONFIG_NO_FORMATTING
 
@@ -95,4 +95,4 @@
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
 
-#endif /* U_PLATFORM_HAS_WIN32_API */
+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */

Modified: trunk/Build/source/libs/icu/icu-src/source/test/intltest/winutil.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/test/intltest/winutil.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/test/intltest/winutil.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -16,7 +16,7 @@
 
 #include "unicode/utypes.h"
 
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
 
 #if !UCONFIG_NO_FORMATTING
 
@@ -43,6 +43,6 @@
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
 
-#endif // U_PLATFORM_HAS_WIN32_API
+#endif // U_PLATFORM_USES_ONLY_WIN32_API
 
 #endif // __WINUTIL

Modified: trunk/Build/source/libs/icu/icu-src/source/test/perf/collperf/collperf.cpp
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/test/perf/collperf/collperf.cpp	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/test/perf/collperf/collperf.cpp	2017-03-13 23:56:43 UTC (rev 43492)
@@ -118,7 +118,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)
@@ -300,7 +300,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
@@ -335,7 +335,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
@@ -455,7 +455,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){
@@ -592,7 +592,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);
@@ -692,7 +692,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
@@ -718,7 +718,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);
@@ -733,7 +733,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
@@ -833,7 +833,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);
@@ -856,7 +856,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);
@@ -875,7 +875,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);

Modified: trunk/Build/source/libs/icu/icu-src/source/test/perf/normperf/normperf.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/test/perf/normperf/normperf.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/test/perf/normperf/normperf.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -319,7 +319,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);

Modified: trunk/Build/source/libs/icu/icu-src/source/tools/ctestfw/unicode/utimer.h
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/tools/ctestfw/unicode/utimer.h	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/tools/ctestfw/unicode/utimer.h	2017-03-13 23:56:43 UTC (rev 43492)
@@ -12,7 +12,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>
@@ -162,7 +162,7 @@
 typedef void FuntionToBeTimed(void* param);
 
 
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
 
     struct UTimer{
         LARGE_INTEGER start;

Modified: trunk/Build/source/libs/icu/icu-src/source/tools/genrb/derb.cpp
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/tools/genrb/derb.cpp	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/tools/genrb/derb.cpp	2017-03-13 23:56:43 UTC (rev 43492)
@@ -206,7 +206,7 @@
         UBool fromICUData = !uprv_strcmp(inputDir, "-");
         if (!fromICUData) {
             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);

Modified: trunk/Build/source/libs/icu/icu-src/source/tools/toolutil/udbgutil.cpp
===================================================================
--- trunk/Build/source/libs/icu/icu-src/source/tools/toolutil/udbgutil.cpp	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/icu-src/source/tools/toolutil/udbgutil.cpp	2017-03-13 23:56:43 UTC (rev 43492)
@@ -351,8 +351,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

Modified: trunk/Build/source/libs/icu/version.ac
===================================================================
--- trunk/Build/source/libs/icu/version.ac	2017-03-13 23:41:21 UTC (rev 43491)
+++ trunk/Build/source/libs/icu/version.ac	2017-03-13 23:56:43 UTC (rev 43492)
@@ -1,5 +1,5 @@
-dnl   Copyright (C) 2016 Karl Berry <tex-live at tug.org>
-dnl   Copyright (C) 2011-2015 Peter Breitenlohner <tex-live at tug.org>
+dnl   Copyright 2016-2017 Karl Berry <tex-live at tug.org>
+dnl   Copyright 2011-2015 Peter Breitenlohner <tex-live at tug.org>
 dnl
 dnl   This file is free software; the copyright holder
 dnl   gives unlimited permission to copy and/or distribute it,
@@ -6,4 +6,4 @@
 dnl   with or without modifications, as long as this notice is preserved.
 dnl
 dnl  m4-include this file to define the current ICU version as icu_version.
-m4_define([icu_version], [57.1])
+m4_define([icu_version], [58.2])



More information about the tex-live-commits mailing list