summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-03-13 23:56:43 +0000
committerKarl Berry <karl@freefriends.org>2017-03-13 23:56:43 +0000
commitcc3e5cdc35b4df9130561775387bd2f56f458bba (patch)
treeb4180e75faecd437fa1c1cd6e77cb67e29554702 /Build
parentc1d91990fc364cd59b82fa33adab656e4374448e (diff)
icu 58.2, changes for TL
git-svn-id: svn://tug.org/texlive/trunk@43492 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/libs/README2
-rw-r--r--Build/source/libs/icu/ChangeLog5
-rw-r--r--Build/source/libs/icu/TLpatches/ChangeLog4
-rw-r--r--Build/source/libs/icu/TLpatches/TL-Changes29
-rw-r--r--Build/source/libs/icu/TLpatches/patch-01-configure-gcc60
-rw-r--r--Build/source/libs/icu/TLpatches/patch-03-gcc-atomic6
-rw-r--r--Build/source/libs/icu/TLpatches/patch-12-mingw10
-rw-r--r--Build/source/libs/icu/TLpatches/patch-13-STATIC_PREFIX12
-rw-r--r--Build/source/libs/icu/TLpatches/patch-14-xopen7
-rw-r--r--Build/source/libs/icu/TLpatches/patch-16-putil10
-rw-r--r--Build/source/libs/icu/TLpatches/patch-17-cygwin-no-w32api177
-rw-r--r--Build/source/libs/icu/TLpatches/patch-20-private39
-rwxr-xr-xBuild/source/libs/icu/configure20
-rw-r--r--Build/source/libs/icu/icu-src/source/common/putil.cpp28
-rw-r--r--Build/source/libs/icu/icu-src/source/common/putilimp.h2
-rw-r--r--Build/source/libs/icu/icu-src/source/common/umutex.h2
-rw-r--r--Build/source/libs/icu/icu-src/source/common/uposixdefs.h5
-rw-r--r--Build/source/libs/icu/icu-src/source/common/wintz.c4
-rw-r--r--Build/source/libs/icu/icu-src/source/common/wintz.h4
-rwxr-xr-xBuild/source/libs/icu/icu-src/source/config.guess340
-rwxr-xr-xBuild/source/libs/icu/icu-src/source/config.sub92
-rw-r--r--Build/source/libs/icu/icu-src/source/config/Makefile.inc.in2
-rw-r--r--Build/source/libs/icu/icu-src/source/config/mh-mingw18
-rwxr-xr-xBuild/source/libs/icu/icu-src/source/configure8
-rw-r--r--Build/source/libs/icu/icu-src/source/configure.ac4
-rw-r--r--Build/source/libs/icu/icu-src/source/data/in/icudt58l.datbin26213232 -> 18328144 bytes
-rw-r--r--Build/source/libs/icu/icu-src/source/i18n/datefmt.cpp2
-rw-r--r--Build/source/libs/icu/icu-src/source/i18n/dayperiodrules.h2
-rw-r--r--Build/source/libs/icu/icu-src/source/i18n/unicode/dtitvinf.h9
-rw-r--r--Build/source/libs/icu/icu-src/source/i18n/windtfmt.cpp4
-rw-r--r--Build/source/libs/icu/icu-src/source/i18n/windtfmt.h4
-rw-r--r--Build/source/libs/icu/icu-src/source/i18n/wintzimpl.cpp2
-rw-r--r--Build/source/libs/icu/icu-src/source/i18n/wintzimpl.h4
-rw-r--r--Build/source/libs/icu/icu-src/source/icudefs.mk.in4
-rwxr-xr-xBuild/source/libs/icu/icu-src/source/install-sh660
-rw-r--r--Build/source/libs/icu/icu-src/source/test/intltest/dtfmttst.cpp4
-rw-r--r--Build/source/libs/icu/icu-src/source/test/intltest/uobjtest.cpp4
-rw-r--r--Build/source/libs/icu/icu-src/source/test/intltest/windttst.cpp4
-rw-r--r--Build/source/libs/icu/icu-src/source/test/intltest/windttst.h4
-rw-r--r--Build/source/libs/icu/icu-src/source/test/intltest/winutil.cpp4
-rw-r--r--Build/source/libs/icu/icu-src/source/test/intltest/winutil.h4
-rw-r--r--Build/source/libs/icu/icu-src/source/test/perf/collperf/collperf.cpp22
-rw-r--r--Build/source/libs/icu/icu-src/source/test/perf/normperf/normperf.h2
-rw-r--r--Build/source/libs/icu/icu-src/source/tools/ctestfw/unicode/utimer.h4
-rw-r--r--Build/source/libs/icu/icu-src/source/tools/genrb/derb.cpp2
-rw-r--r--Build/source/libs/icu/icu-src/source/tools/toolutil/udbgutil.cpp4
-rw-r--r--Build/source/libs/icu/version.ac6
47 files changed, 933 insertions, 712 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README
index 1c34776c6d7..1455182aac7 100644
--- a/Build/source/libs/README
+++ b/Build/source/libs/README
@@ -27,7 +27,7 @@ graphite2 1.3.9 - checked 13nov16
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
diff --git a/Build/source/libs/icu/ChangeLog b/Build/source/libs/icu/ChangeLog
index 66c3a0e710d..2d64ed9a2c1 100644
--- a/Build/source/libs/icu/ChangeLog
+++ b/Build/source/libs/icu/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-13 Karl Berry <karl@freefriends.org>
+
+ * Import icu-58.2 (release); reautoconf.
+ * version.ac: update.
+
2016-03-27 Karl Berry <karl@tug.org>
* Import icu-57.1 (release).
diff --git a/Build/source/libs/icu/TLpatches/ChangeLog b/Build/source/libs/icu/TLpatches/ChangeLog
index 4be9800d1d8..523961f7a55 100644
--- a/Build/source/libs/icu/TLpatches/ChangeLog
+++ b/Build/source/libs/icu/TLpatches/ChangeLog
@@ -1,3 +1,7 @@
+2017-03-13 Karl Berry <karl@freefriends.org>
+
+ * Update for icu-58.2.
+
2016-03-30 Karl Berry <karl@tug.org>
* patch-20-private: new file, per Dick Koch.
diff --git a/Build/source/libs/icu/TLpatches/TL-Changes b/Build/source/libs/icu/TLpatches/TL-Changes
index 90bded3540c..6315dca3b62 100644
--- a/Build/source/libs/icu/TLpatches/TL-Changes
+++ b/Build/source/libs/icu/TLpatches/TL-Changes
@@ -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 status | sed -n 's/^\?//p'
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 @@ cp $aux/config.guess $aux/config.sub $aux/install-sh source/
# 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 @@ icupkg="env LD_LIBRARY_PATH=$gnu/lib ../../../../bin/icupkg"
# 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
diff --git a/Build/source/libs/icu/TLpatches/patch-01-configure-gcc b/Build/source/libs/icu/TLpatches/patch-01-configure-gcc
new file mode 100644
index 00000000000..c88942972a3
--- /dev/null
+++ b/Build/source/libs/icu/TLpatches/patch-01-configure-gcc
@@ -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])
diff --git a/Build/source/libs/icu/TLpatches/patch-03-gcc-atomic b/Build/source/libs/icu/TLpatches/patch-03-gcc-atomic
index 2b53072f732..d982bcb6664 100644
--- a/Build/source/libs/icu/TLpatches/patch-03-gcc-atomic
+++ b/Build/source/libs/icu/TLpatches/patch-03-gcc-atomic
@@ -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
diff --git a/Build/source/libs/icu/TLpatches/patch-12-mingw b/Build/source/libs/icu/TLpatches/patch-12-mingw
index 2b8b7b090c7..3b414e4a21e 100644
--- a/Build/source/libs/icu/TLpatches/patch-12-mingw
+++ b/Build/source/libs/icu/TLpatches/patch-12-mingw
@@ -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.
diff --git a/Build/source/libs/icu/TLpatches/patch-13-STATIC_PREFIX b/Build/source/libs/icu/TLpatches/patch-13-STATIC_PREFIX
index e35ca62da0d..93123626b6e 100644
--- a/Build/source/libs/icu/TLpatches/patch-13-STATIC_PREFIX
+++ b/Build/source/libs/icu/TLpatches/patch-13-STATIC_PREFIX
@@ -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)
diff --git a/Build/source/libs/icu/TLpatches/patch-14-xopen b/Build/source/libs/icu/TLpatches/patch-14-xopen
index 6ccb6564407..853840ac955 100644
--- a/Build/source/libs/icu/TLpatches/patch-14-xopen
+++ b/Build/source/libs/icu/TLpatches/patch-14-xopen
@@ -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
+
diff --git a/Build/source/libs/icu/TLpatches/patch-16-putil b/Build/source/libs/icu/TLpatches/patch-16-putil
index c79c526dc9c..9d2bce224ed 100644
--- a/Build/source/libs/icu/TLpatches/patch-16-putil
+++ b/Build/source/libs/icu/TLpatches/patch-16-putil
@@ -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
diff --git a/Build/source/libs/icu/TLpatches/patch-17-cygwin-no-w32api b/Build/source/libs/icu/TLpatches/patch-17-cygwin-no-w32api
index e24041a1f2b..89b6d67005c 100644
--- a/Build/source/libs/icu/TLpatches/patch-17-cygwin-no-w32api
+++ b/Build/source/libs/icu/TLpatches/patch-17-cygwin-no-w32api
@@ -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,16 +79,18 @@
#if !UCONFIG_NO_FORMATTING
-@@ -312,5 +312,5 @@
+@@ -314,5 +314,5 @@
#endif /* #if !UCONFIG_NO_FORMATTING */
-#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 @@ Index: source/test/intltest/dtfmttst.cpp
#include "windttst.h"
#endif
-@@ -2372,7 +2372,7 @@
+@@ -2374,7 +2374,7 @@
void DateFormatTest::TestHost(void)
{
@@ -186,9 +165,9 @@ Index: source/test/intltest/dtfmttst.cpp
}
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 @@ Index: source/test/intltest/uobjtest.cpp
/* 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 @@ Index: source/test/intltest/windttst.cpp
#if !UCONFIG_NO_FORMATTING
-@@ -191,4 +191,4 @@
+@@ -193,4 +193,4 @@
#endif /* #if !UCONFIG_NO_FORMATTING */
@@ -224,9 +203,9 @@ Index: source/test/intltest/windttst.cpp
+#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 @@ Index: source/test/intltest/windttst.h
#if !UCONFIG_NO_FORMATTING
-@@ -36,6 +36,6 @@
+@@ -38,6 +38,6 @@
#endif /* #if !UCONFIG_NO_FORMATTING */
@@ -245,9 +224,9 @@ Index: source/test/intltest/windttst.h
#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 @@ Index: source/test/intltest/winutil.cpp
#if !UCONFIG_NO_FORMATTING
-@@ -93,4 +93,4 @@
+@@ -95,4 +95,4 @@
#endif /* #if !UCONFIG_NO_FORMATTING */
@@ -264,9 +243,9 @@ Index: source/test/intltest/winutil.cpp
+#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 @@ Index: source/test/intltest/winutil.h
#if !UCONFIG_NO_FORMATTING
-@@ -41,6 +41,6 @@
+@@ -43,6 +43,6 @@
#endif /* #if !UCONFIG_NO_FORMATTING */
@@ -285,9 +264,9 @@ Index: source/test/intltest/winutil.h
#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 @@ Index: source/test/perf/collperf/collperf.cpp
// 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 @@ Index: source/test/perf/collperf/collperf.cpp
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 @@ Index: source/test/perf/collperf/collperf.cpp
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 @@ Index: source/test/perf/collperf/collperf.cpp
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 @@ Index: source/test/perf/collperf/collperf.cpp
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 @@ Index: source/test/perf/collperf/collperf.cpp
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 @@ Index: source/test/perf/collperf/collperf.cpp
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 @@ Index: source/test/perf/collperf/collperf.cpp
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 @@ Index: source/test/perf/collperf/collperf.cpp
// 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 @@ Index: source/test/perf/collperf/collperf.cpp
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 @@ Index: source/test/perf/collperf/collperf.cpp
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 @@ Index: source/test/perf/normperf/normperf.h
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 @@ Index: source/tools/ctestfw/unicode/utimer.h
# 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 @@ Index: source/tools/ctestfw/unicode/utimer.h
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 @@ Index: source/tools/genrb/derb.cpp
&& 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)
{
diff --git a/Build/source/libs/icu/TLpatches/patch-20-private b/Build/source/libs/icu/TLpatches/patch-20-private
index d20a7de0d37..ec7ade078de 100644
--- a/Build/source/libs/icu/TLpatches/patch-20-private
+++ b/Build/source/libs/icu/TLpatches/patch-20-private
@@ -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 @@ Index: icu-src/source/i18n/dayperiodrules.h
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 @@ Index: icu-src/source/i18n/unicode/dtitvinf.h
/**
* 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 @@ Index: icu-src/source/i18n/unicode/dtitvinf.h
/**
* Max index for stored interval patterns
* @internal ICU 4.4
-@@ -367,8 +369,8 @@
+@@ -372,8 +373,8 @@
enum {
kMaxIntervalPatternIndex = kIPI_MAX_INDEX
};
diff --git a/Build/source/libs/icu/configure b/Build/source/libs/icu/configure
index 13d5acae8c0..3a253e0f2ca 100755
--- a/Build/source/libs/icu/configure
+++ b/Build/source/libs/icu/configure
@@ -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@tug.org>.
#
@@ -579,8 +579,8 @@ MAKEFLAGS=
# 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@tug.org'
PACKAGE_URL=''
@@ -1258,7 +1258,7 @@ if test "$ac_init_help" = "long"; then
# 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 @@ fi
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 @@ fi
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 @@ cat >config.log <<_ACEOF
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 @@ fi
# Define the identity of the package.
PACKAGE='icu--tex-live-'
- VERSION='57.1'
+ VERSION='58.2'
cat >>confdefs.h <<_ACEOF
@@ -4866,7 +4866,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# 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 @@ _ACEOF
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\\"
diff --git a/Build/source/libs/icu/icu-src/source/common/putil.cpp b/Build/source/libs/icu/icu-src/source/common/putil.cpp
index 03f6548689d..abf2aac830f 100644
--- a/Build/source/libs/icu/icu-src/source/common/putil.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/putil.cpp
@@ -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,20 +118,6 @@
# include <sys/neutrino.h>
#endif
-#if (U_PF_MINGW <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN) && defined(__STRICT_ANSI__)
-/* tzset isn't defined in strict ANSI on Cygwin and MinGW. */
-#undef __STRICT_ANSI__
-#endif
-
-/*
- * Cygwin with GCC requires inclusion of time.h after the above disabling strict asci mode statement.
- */
-#include <time.h>
-
-#if !U_PLATFORM_USES_ONLY_WIN32_API
-#include <sys/time.h>
-#endif
-
/*
* Only include langinfo.h if we have a way to get the codeset. If we later
* depend on more feature, we can test on U_HAVE_NL_LANGINFO.
diff --git a/Build/source/libs/icu/icu-src/source/common/putilimp.h b/Build/source/libs/icu/icu-src/source/common/putilimp.h
index 05f739103d9..61e7e187ed4 100644
--- a/Build/source/libs/icu/icu-src/source/common/putilimp.h
+++ b/Build/source/libs/icu/icu-src/source/common/putilimp.h
@@ -193,7 +193,7 @@ typedef size_t uintptr_t;
/* Use the predefined value. */
#elif U_PLATFORM == U_PF_MINGW
#define U_HAVE_GCC_ATOMICS 0
-#elif U_GCC_MAJOR_MINOR >= 404 || defined(__clang__)
+#elif U_GCC_MAJOR_MINOR >= 405 || defined(__clang__)
/* TODO: Intel icc and IBM xlc on AIX also support gcc atomics. (Intel originated them.)
* Add them for these compilers.
* Note: Clang sets __GNUC__ defines for version 4.2, so misses the 4.4 test here.
diff --git a/Build/source/libs/icu/icu-src/source/common/umutex.h b/Build/source/libs/icu/icu-src/source/common/umutex.h
index b52010f8aed..e8b92c27027 100644
--- a/Build/source/libs/icu/icu-src/source/common/umutex.h
+++ b/Build/source/libs/icu/icu-src/source/common/umutex.h
@@ -76,7 +76,7 @@ inline int32_t umtx_atomic_dec(u_atomic_int32_t *var) {
}
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.
diff --git a/Build/source/libs/icu/icu-src/source/common/uposixdefs.h b/Build/source/libs/icu/icu-src/source/common/uposixdefs.h
index 495deea49e3..9ab307c6ee3 100644
--- a/Build/source/libs/icu/icu-src/source/common/uposixdefs.h
+++ b/Build/source/libs/icu/icu-src/source/common/uposixdefs.h
@@ -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
diff --git a/Build/source/libs/icu/icu-src/source/common/wintz.c b/Build/source/libs/icu/icu-src/source/common/wintz.c
index a8696af39d4..004b60b7728 100644
--- a/Build/source/libs/icu/icu-src/source/common/wintz.c
+++ b/Build/source/libs/icu/icu-src/source/common/wintz.c
@@ -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 @@ uprv_detectWindowsTimeZone() {
return icuid;
}
-#endif /* U_PLATFORM_HAS_WIN32_API */
+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
diff --git a/Build/source/libs/icu/icu-src/source/common/wintz.h b/Build/source/libs/icu/icu-src/source/common/wintz.h
index 1d4db874224..dff7608900f 100644
--- a/Build/source/libs/icu/icu-src/source/common/wintz.h
+++ b/Build/source/libs/icu/icu-src/source/common/wintz.h
@@ -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_CDECL_END
U_CFUNC const char* U_EXPORT2
uprv_detectWindowsTimeZone();
-#endif /* U_PLATFORM_HAS_WIN32_API */
+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
#endif /* __WINTZ */
diff --git a/Build/source/libs/icu/icu-src/source/config.guess b/Build/source/libs/icu/icu-src/source/config.guess
index 9afd6762064..69ed3e573bb 100755
--- a/Build/source/libs/icu/icu-src/source/config.guess
+++ b/Build/source/libs/icu/icu-src/source/config.guess
@@ -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 @@ timestamp='2013-11-29'
# 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@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@ version="\
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 @@ Linux|GNU|GNU/*)
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,19 +168,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# 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 ;;
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 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
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 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
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 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
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 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*: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,42 +275,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
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.
# 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 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
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 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
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 @@ EOF
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 @@ EOF
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 @@ EOF
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 @@ EOF
# $ 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 @@ EOF
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 @@ EOF
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 @@ EOF
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
- i*:MSYS*:*)
+ *:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
@@ -878,7 +904,7 @@ EOF
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 @@ EOF
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 @@ EOF
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 @@ EOF
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 @@ EOF
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 @@ EOF
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 @@ EOF
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 @@ EOF
# 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 @@ EOF
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 @@ EOF
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 @@ EOF
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 @@ EOF
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 @@ EOF
# "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 @@ EOF
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 @@ EOF
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
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
+ amd64:Isilon\ OneFS:*:*)
+ echo x86_64-unknown-onefs
exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
+esac
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@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@gnu.org to
+provide the necessary information to handle your system.
config.guess timestamp = $timestamp
diff --git a/Build/source/libs/icu/icu-src/source/config.sub b/Build/source/libs/icu/icu-src/source/config.sub
index 61cb4bc22db..87abeab6cdf 100755
--- a/Build/source/libs/icu/icu-src/source/config.sub
+++ b/Build/source/libs/icu/icu-src/source/config.sub
@@ -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 @@ timestamp='2013-10-01'
# of the GNU General Public License, version 3 ("GPLv3").
-# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+# Please send patches to <config-patches@gnu.org>.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
@@ -33,7 +33,7 @@ timestamp='2013-10-01'
# 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 @@ timestamp='2013-10-01'
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 @@ Report bugs and patches to <config-patches@gnu.org>."
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 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
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 @@ case $basic_machine in
| 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 @@ case $basic_machine in
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipsr5900 | mipsr5900el \
@@ -296,14 +298,15 @@ case $basic_machine in
| 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 @@ case $basic_machine in
| 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 @@ case $basic_machine in
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 @@ case $basic_machine in
| 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 @@ case $basic_machine in
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipsr5900-* | mipsr5900el-* \
@@ -415,16 +425,19 @@ case $basic_machine in
| 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 @@ case $basic_machine in
| ubicom32-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
+ | visium-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
@@ -508,6 +522,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -628,6 +645,14 @@ case $basic_machine in
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 @@ case $basic_machine in
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 @@ case $basic_machine in
basic_machine=powerpc-unknown
os=-morphos
;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
msdos)
basic_machine=i386-pc
os=-msdos
@@ -916,6 +948,9 @@ case $basic_machine in
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 @@ case $basic_machine in
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 @@ case $basic_machine in
;;
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
@@ -1356,27 +1391,28 @@ case $os in
| -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* \
| -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 @@ case $os in
;;
-nacl*)
;;
+ -ios)
+ ;;
-none)
;;
*)
@@ -1594,9 +1632,6 @@ case $basic_machine in
mips*-*)
os=-elf
;;
- or1k-*)
- os=-elf
- ;;
or32-*)
os=-coff
;;
@@ -1606,6 +1641,9 @@ case $basic_machine in
sparc-* | *-sun)
os=-sunos4.1.1
;;
+ pru-*)
+ os=-elf
+ ;;
*-be)
os=-beos
;;
diff --git a/Build/source/libs/icu/icu-src/source/config/Makefile.inc.in b/Build/source/libs/icu/icu-src/source/config/Makefile.inc.in
index 83da082ab27..20739f1e62c 100644
--- a/Build/source/libs/icu/icu-src/source/config/Makefile.inc.in
+++ b/Build/source/libs/icu/icu-src/source/config/Makefile.inc.in
@@ -46,7 +46,7 @@ PACKAGE = @PACKAGE@
LIBICU = lib$(ICUPREFIX)
# Static library prefix and file extension
-STATIC_PREFIX = s
+STATIC_PREFIX =
LIBSICU = lib$(STATIC_PREFIX)$(ICUPREFIX)
A = a
diff --git a/Build/source/libs/icu/icu-src/source/config/mh-mingw b/Build/source/libs/icu/icu-src/source/config/mh-mingw
index b8d2ee0589d..ddad1908899 100644
--- a/Build/source/libs/icu/icu-src/source/config/mh-mingw
+++ b/Build/source/libs/icu/icu-src/source/config/mh-mingw
@@ -61,27 +61,9 @@ SO = dll
## 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}"
diff --git a/Build/source/libs/icu/icu-src/source/configure b/Build/source/libs/icu/icu-src/source/configure
index 29732a1448a..5056265b87a 100755
--- a/Build/source/libs/icu/icu-src/source/configure
+++ b/Build/source/libs/icu/icu-src/source/configure
@@ -2830,7 +2830,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
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
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 @@ if test -z "$CXX"; then
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
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
diff --git a/Build/source/libs/icu/icu-src/source/configure.ac b/Build/source/libs/icu/icu-src/source/configure.ac
index eb62936565b..c07e75d0fd5 100644
--- a/Build/source/libs/icu/icu-src/source/configure.ac
+++ b/Build/source/libs/icu/icu-src/source/configure.ac
@@ -133,10 +133,10 @@ AC_SUBST(ENABLE_RELEASE)
: ${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])
diff --git a/Build/source/libs/icu/icu-src/source/data/in/icudt58l.dat b/Build/source/libs/icu/icu-src/source/data/in/icudt58l.dat
index d244805621b..636f807e328 100644
--- a/Build/source/libs/icu/icu-src/source/data/in/icudt58l.dat
+++ b/Build/source/libs/icu/icu-src/source/data/in/icudt58l.dat
Binary files differ
diff --git a/Build/source/libs/icu/icu-src/source/i18n/datefmt.cpp b/Build/source/libs/icu/icu-src/source/i18n/datefmt.cpp
index 2767e3f3829..24768c0aa42 100644
--- a/Build/source/libs/icu/icu-src/source/i18n/datefmt.cpp
+++ b/Build/source/libs/icu/icu-src/source/i18n/datefmt.cpp
@@ -498,7 +498,7 @@ DateFormat* U_EXPORT2
DateFormat::create(EStyle timeStyle, EStyle dateStyle, const Locale& locale)
{
UErrorCode status = U_ZERO_ERROR;
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
char buffer[8];
int32_t count = locale.getKeywordValue("compat", buffer, sizeof(buffer), status);
diff --git a/Build/source/libs/icu/icu-src/source/i18n/dayperiodrules.h b/Build/source/libs/icu/icu-src/source/i18n/dayperiodrules.h
index 3c006cdc2f5..7d608392076 100644
--- a/Build/source/libs/icu/icu-src/source/i18n/dayperiodrules.h
+++ b/Build/source/libs/icu/icu-src/source/i18n/dayperiodrules.h
@@ -55,7 +55,7 @@ public:
// 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.
diff --git a/Build/source/libs/icu/icu-src/source/i18n/unicode/dtitvinf.h b/Build/source/libs/icu/icu-src/source/i18n/unicode/dtitvinf.h
index 325eca66d6b..53b918988ce 100644
--- a/Build/source/libs/icu/icu-src/source/i18n/unicode/dtitvinf.h
+++ b/Build/source/libs/icu/icu-src/source/i18n/unicode/dtitvinf.h
@@ -330,7 +330,7 @@ public:
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 @@ private:
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 @@ public:
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: */
/**
diff --git a/Build/source/libs/icu/icu-src/source/i18n/windtfmt.cpp b/Build/source/libs/icu/icu-src/source/i18n/windtfmt.cpp
index 10243a702b7..0e9f3f13b04 100644
--- a/Build/source/libs/icu/icu-src/source/i18n/windtfmt.cpp
+++ b/Build/source/libs/icu/icu-src/source/i18n/windtfmt.cpp
@@ -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 @@ U_NAMESPACE_END
#endif /* #if !UCONFIG_NO_FORMATTING */
-#endif // U_PLATFORM_HAS_WIN32_API
+#endif // U_PLATFORM_USES_ONLY_WIN32_API
diff --git a/Build/source/libs/icu/icu-src/source/i18n/windtfmt.h b/Build/source/libs/icu/icu-src/source/i18n/windtfmt.h
index 58ac71ba4dd..62c696dc543 100644
--- a/Build/source/libs/icu/icu-src/source/i18n/windtfmt.h
+++ b/Build/source/libs/icu/icu-src/source/i18n/windtfmt.h
@@ -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 @@ U_NAMESPACE_END
#endif /* #if !UCONFIG_NO_FORMATTING */
-#endif // U_PLATFORM_HAS_WIN32_API
+#endif // U_PLATFORM_USES_ONLY_WIN32_API
#endif // __WINDTFMT
diff --git a/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.cpp b/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.cpp
index 30b9c492fb8..b2be28d91c2 100644
--- a/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.cpp
+++ b/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.cpp
@@ -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"
diff --git a/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.h b/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.h
index c955b8cea7e..e112bead3f0 100644
--- a/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.h
+++ b/Build/source/libs/icu/icu-src/source/i18n/wintzimpl.h
@@ -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 @@ U_CAPI UBool U_EXPORT2
uprv_getWindowsTimeZoneInfo(TIME_ZONE_INFORMATION *zoneInfo, const UChar *icuid, int32_t length);
-#endif /* U_PLATFORM_HAS_WIN32_API */
+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
#endif /* __WINTZIMPL */
diff --git a/Build/source/libs/icu/icu-src/source/icudefs.mk.in b/Build/source/libs/icu/icu-src/source/icudefs.mk.in
index 46568f30766..c0c2c0fbfbf 100644
--- a/Build/source/libs/icu/icu-src/source/icudefs.mk.in
+++ b/Build/source/libs/icu/icu-src/source/icudefs.mk.in
@@ -209,13 +209,13 @@ LIBICU = $(LIBPREFIX)$(ICUPREFIX)
## If we can't use the shared libraries, use the static libraries
ifneq ($(ENABLE_SHARED),YES)
-STATIC_PREFIX_WHEN_USED = s
+STATIC_PREFIX_WHEN_USED =
else
STATIC_PREFIX_WHEN_USED =
endif
# Static library prefix and file extension
-STATIC_PREFIX = s
+STATIC_PREFIX =
LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
A = a
SOBJ = $(SO)
diff --git a/Build/source/libs/icu/icu-src/source/install-sh b/Build/source/libs/icu/icu-src/source/install-sh
index e9de23842dc..0360b79e7d0 100755
--- a/Build/source/libs/icu/icu-src/source/install-sh
+++ b/Build/source/libs/icu/icu-src/source/install-sh
@@ -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 (C) 1994 X Consortium
+#
+# 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.
#
-# Copyright 1991 by the Massachusetts Institute of Technology
+# 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.
#
-# 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.
+#
+# 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
+doit=${DOITPROG-}
+doit_exec=${doit:-exec}
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
+# Put in absolute file names if you don't have them in your path;
+# or use environment 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}
-# put in absolute paths if you don't have them in your path; or use env. vars.
+posix_mkdir=
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
+# Desired mode of installed file.
+mode=0755
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) 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
-done
+stripcmd=
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
+src=
+dst=
+dir_arg=
+dst_arg=
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- chmodcmd=""
- else
- instcmd=mkdir
- fi
-else
-
-# 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 [ -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 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 [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
+copy_on_change=false
+is_target_a_directory=possibly
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
+ -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.
-pathcomp=''
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
+ -C) copy_on_change=true;;
- pathcomp="${pathcomp}/"
-done
-fi
+ -d) dir_arg=true;;
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
- 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
+ --help) echo "$usage"; exit $?;;
-# If we're going to rename the final executable, determine the name now.
+ -m) mode=$2
+ case $mode in
+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
+ -o) chowncmd="$chownprog $2"
+ shift;;
-# don't allow the sed command to completely eliminate the filename
+ -s) stripcmd=$stripprog;;
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
+ -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;;
-# Make a temp file name in the proper directory.
+ -T) is_target_a_directory=never;;
- dsttmp=$dstdir/#inst.$$#
+ --version) echo "$0 $scriptversion"; exit $?;;
-# Move or copy the file name to the temp name
+ --) shift
+ break;;
- $doit $instcmd $src $dsttmp &&
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
- trap "rm -f ${dsttmp}" 0 &&
+ *) break;;
+ esac
+ shift
+done
-# and set any options; do chmod last to preserve setuid bits
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
-# 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.
+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"$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 &&
+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
-# Now rename the file to the real destination.
+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 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
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
+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
+
+ # 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
-fi &&
+for src
+do
+ # Protect names problematic for 'test' and other utilities.
+ case $src in
+ -* | [=\(\)!]) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # 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
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+ dst=$dst_arg
+
+ # 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
+
+ obsolete_mkdir_used=false
+
+ 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;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # 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
+
+ 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 (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
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # 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.
+
+ case $dstdir in
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ oIFS=$IFS
+ IFS=/
+ set -f
+ set fnord $dstdir
+ shift
+ set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test X"$d" = X && continue
+
+ 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
+
+ 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
+
+ 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
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # 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"; } &&
+
+ # 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
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
-exit 0
+# 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:
diff --git a/Build/source/libs/icu/icu-src/source/test/intltest/dtfmttst.cpp b/Build/source/libs/icu/icu-src/source/test/intltest/dtfmttst.cpp
index bf060d0b3e0..d3069a23dfd 100644
--- a/Build/source/libs/icu/icu-src/source/test/intltest/dtfmttst.cpp
+++ b/Build/source/libs/icu/icu-src/source/test/intltest/dtfmttst.cpp
@@ -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::TestZTimeZoneParsing(void) {
void DateFormatTest::TestHost(void)
{
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
Win32DateTimeTest::testLocales(this);
#endif
}
diff --git a/Build/source/libs/icu/icu-src/source/test/intltest/uobjtest.cpp b/Build/source/libs/icu/icu-src/source/test/intltest/uobjtest.cpp
index fc3c4e2b9cc..ab41a47e951 100644
--- a/Build/source/libs/icu/icu-src/source/test/intltest/uobjtest.cpp
+++ b/Build/source/libs/icu/icu-src/source/test/intltest/uobjtest.cpp
@@ -384,13 +384,11 @@ void UObjectTest::testIDs()
TESTCLASSID_FACTORY(IndianCalendar, Calendar::createInstance(Locale("@calendar=indian"), status));
TESTCLASSID_FACTORY(ChineseCalendar, Calendar::createInstance(Locale("@calendar=chinese"), status));
TESTCLASSID_FACTORY(TaiwanCalendar, Calendar::createInstance(Locale("@calendar=roc"), status));
-#if U_PLATFORM_HAS_WIN32_API
- TESTCLASSID_FACTORY(Win32DateFormat, DateFormat::createDateInstance(DateFormat::kFull, Locale("@compat=host")));
#if U_PLATFORM_USES_ONLY_WIN32_API
+ TESTCLASSID_FACTORY(Win32DateFormat, DateFormat::createDateInstance(DateFormat::kFull, Locale("@compat=host")));
TESTCLASSID_FACTORY(Win32NumberFormat, NumberFormat::createInstance(Locale("@compat=host"), status));
#endif
#endif
-#endif
#if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILE_IO
/* TESTCLASSID_ABSTRACT(BreakIterator); No staticID! */
diff --git a/Build/source/libs/icu/icu-src/source/test/intltest/windttst.cpp b/Build/source/libs/icu/icu-src/source/test/intltest/windttst.cpp
index f705689d2f3..440bf2c7649 100644
--- a/Build/source/libs/icu/icu-src/source/test/intltest/windttst.cpp
+++ b/Build/source/libs/icu/icu-src/source/test/intltest/windttst.cpp
@@ -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 @@ void Win32DateTimeTest::testLocales(TestLog *log)
#endif /* #if !UCONFIG_NO_FORMATTING */
-#endif /* U_PLATFORM_HAS_WIN32_API */
+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
diff --git a/Build/source/libs/icu/icu-src/source/test/intltest/windttst.h b/Build/source/libs/icu/icu-src/source/test/intltest/windttst.h
index 02fc6df234e..2853b6c1f8c 100644
--- a/Build/source/libs/icu/icu-src/source/test/intltest/windttst.h
+++ b/Build/source/libs/icu/icu-src/source/test/intltest/windttst.h
@@ -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 @@ private:
#endif /* #if !UCONFIG_NO_FORMATTING */
-#endif // U_PLATFORM_HAS_WIN32_API
+#endif // U_PLATFORM_USES_ONLY_WIN32_API
#endif // __WINDTTST
diff --git a/Build/source/libs/icu/icu-src/source/test/intltest/winutil.cpp b/Build/source/libs/icu/icu-src/source/test/intltest/winutil.cpp
index df104e94fb8..f3b8e51419b 100644
--- a/Build/source/libs/icu/icu-src/source/test/intltest/winutil.cpp
+++ b/Build/source/libs/icu/icu-src/source/test/intltest/winutil.cpp
@@ -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 @@ void Win32Utilities::freeLocales(LCIDRecord *records)
#endif /* #if !UCONFIG_NO_FORMATTING */
-#endif /* U_PLATFORM_HAS_WIN32_API */
+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
diff --git a/Build/source/libs/icu/icu-src/source/test/intltest/winutil.h b/Build/source/libs/icu/icu-src/source/test/intltest/winutil.h
index 92159cfce32..047e3d9afc7 100644
--- a/Build/source/libs/icu/icu-src/source/test/intltest/winutil.h
+++ b/Build/source/libs/icu/icu-src/source/test/intltest/winutil.h
@@ -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 @@ private:
#endif /* #if !UCONFIG_NO_FORMATTING */
-#endif // U_PLATFORM_HAS_WIN32_API
+#endif // U_PLATFORM_USES_ONLY_WIN32_API
#endif // __WINUTIL
diff --git a/Build/source/libs/icu/icu-src/source/test/perf/collperf/collperf.cpp b/Build/source/libs/icu/icu-src/source/test/perf/collperf/collperf.cpp
index e98499ec857..9bfaba4c978 100644
--- a/Build/source/libs/icu/icu-src/source/test/perf/collperf/collperf.cpp
+++ b/Build/source/libs/icu/icu-src/source/test/perf/collperf/collperf.cpp
@@ -118,7 +118,7 @@ public:
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 @@ struct CmdQsort : public UPerfFunction{
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 @@ struct CmdQsort : public UPerfFunction{
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 @@ public:
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 @@ public:
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 @@ public:
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 @@ public:
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 @@ public:
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 @@ public:
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 @@ public:
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 @@ public:
SORT(ord_icu_key, icu_cmpkey);
SORT(ord_posix_data, posix_strcoll_null);
SORT(ord_posix_key, posix_cmpkey);
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
SORT(ord_win_data, win_cmp_len);
SORT(ord_win_key, win_cmpkey);
SORT(ord_win_wcscmp, win_wcscmp);
diff --git a/Build/source/libs/icu/icu-src/source/test/perf/normperf/normperf.h b/Build/source/libs/icu/icu-src/source/test/perf/normperf/normperf.h
index e5faf8afdd4..59dfae3a8aa 100644
--- a/Build/source/libs/icu/icu-src/source/test/perf/normperf/normperf.h
+++ b/Build/source/libs/icu/icu-src/source/test/perf/normperf/normperf.h
@@ -319,7 +319,7 @@ int32_t ICUIsNormalized(const UChar* src,int32_t srcLen, UNormalizationMode mode
}
#endif
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
int32_t WinNormNFD(const UChar* src, int32_t srcLen, UChar* dest, int32_t dstLen, int32_t options, UErrorCode* status) {
return FoldStringW(MAP_COMPOSITE,src,srcLen,dest,dstLen);
diff --git a/Build/source/libs/icu/icu-src/source/tools/ctestfw/unicode/utimer.h b/Build/source/libs/icu/icu-src/source/tools/ctestfw/unicode/utimer.h
index 899feeab873..16d836234b2 100644
--- a/Build/source/libs/icu/icu-src/source/tools/ctestfw/unicode/utimer.h
+++ b/Build/source/libs/icu/icu-src/source/tools/ctestfw/unicode/utimer.h
@@ -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 struct UTimer UTimer;
typedef void FuntionToBeTimed(void* param);
-#if U_PLATFORM_HAS_WIN32_API
+#if U_PLATFORM_USES_ONLY_WIN32_API
struct UTimer{
LARGE_INTEGER start;
diff --git a/Build/source/libs/icu/icu-src/source/tools/genrb/derb.cpp b/Build/source/libs/icu/icu-src/source/tools/genrb/derb.cpp
index 22e275ef353..100154834cc 100644
--- a/Build/source/libs/icu/icu-src/source/tools/genrb/derb.cpp
+++ b/Build/source/libs/icu/icu-src/source/tools/genrb/derb.cpp
@@ -206,7 +206,7 @@ main(int argc, char* argv[]) {
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);
diff --git a/Build/source/libs/icu/icu-src/source/tools/toolutil/udbgutil.cpp b/Build/source/libs/icu/icu-src/source/tools/toolutil/udbgutil.cpp
index bbb814ba901..c62c99befe9 100644
--- a/Build/source/libs/icu/icu-src/source/tools/toolutil/udbgutil.cpp
+++ b/Build/source/libs/icu/icu-src/source/tools/toolutil/udbgutil.cpp
@@ -351,8 +351,10 @@ int32_t udbg_enumByName(UDebugEnumType type, const char *value) {
*/
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
diff --git a/Build/source/libs/icu/version.ac b/Build/source/libs/icu/version.ac
index 69d7deb1aa6..c7dcfc71cd0 100644
--- a/Build/source/libs/icu/version.ac
+++ b/Build/source/libs/icu/version.ac
@@ -1,9 +1,9 @@
-dnl Copyright (C) 2016 Karl Berry <tex-live@tug.org>
-dnl Copyright (C) 2011-2015 Peter Breitenlohner <tex-live@tug.org>
+dnl Copyright 2016-2017 Karl Berry <tex-live@tug.org>
+dnl Copyright 2011-2015 Peter Breitenlohner <tex-live@tug.org>
dnl
dnl This file is free software; the copyright holder
dnl gives unlimited permission to copy and/or distribute it,
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])