diff options
author | Karl Berry <karl@freefriends.org> | 2017-03-13 23:56:43 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-03-13 23:56:43 +0000 |
commit | cc3e5cdc35b4df9130561775387bd2f56f458bba (patch) | |
tree | b4180e75faecd437fa1c1cd6e77cb67e29554702 /Build | |
parent | c1d91990fc364cd59b82fa33adab656e4374448e (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')
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 Binary files differindex 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 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]) |