From e23cededd2e44a0ee24623f6bcb8da312733c417 Mon Sep 17 00:00:00 2001 From: "atom.long" Date: Tue, 30 May 2017 22:44:41 +0800 Subject: [PATCH] icu: Update to 59.1 --- icu/54.1-implicit_declaration.patch | 11 - icu/56.1-cygwin-no-w32api.patch | 452 ------------------ icu/56.1-putil.patch | 45 -- icu/PKGBUILD | 22 +- ...-56.1-msys2.patch => icu-59.1-msys2.patch} | 252 +++++++--- icu/toolutil-Makefile-ln-force.patch | 26 + 6 files changed, 220 insertions(+), 588 deletions(-) delete mode 100644 icu/54.1-implicit_declaration.patch delete mode 100644 icu/56.1-cygwin-no-w32api.patch delete mode 100644 icu/56.1-putil.patch rename icu/{icu-56.1-msys2.patch => icu-59.1-msys2.patch} (60%) create mode 100644 icu/toolutil-Makefile-ln-force.patch diff --git a/icu/54.1-implicit_declaration.patch b/icu/54.1-implicit_declaration.patch deleted file mode 100644 index 0c4ba503..00000000 --- a/icu/54.1-implicit_declaration.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- icu/source/tools/toolutil/pkg_genc.c 2014-10-03 12:11:34.000000000 -0400 -+++ icu/source/tools/toolutil/pkg_genc.c 2015-02-16 13:49:08.700942400 -0500 -@@ -275,7 +275,7 @@ writeAssemblyCode(const char *filename, - uprv_strcpy(outFilePath, bufferStr); - } - --#ifdef WINDOWS_WITH_GNUC -+#if defined WINDOWS_WITH_GNUC && U_PLATFORM != U_PF_CYGWIN - /* Need to fix the file seperator character when using MinGW. */ - swapFileSepChar(outFilePath, U_FILE_SEP_CHAR, '/'); - #endif diff --git a/icu/56.1-cygwin-no-w32api.patch b/icu/56.1-cygwin-no-w32api.patch deleted file mode 100644 index 5f5b8288..00000000 --- a/icu/56.1-cygwin-no-w32api.patch +++ /dev/null @@ -1,452 +0,0 @@ -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/common/putilimp.h icu-56.1/source/common/putilimp.h ---- icu-56.1.orig/source/common/putilimp.h 2015-09-27 15:22:44.000000000 +0200 -+++ icu-56.1/source/common/putilimp.h 2015-09-27 15:30:01.000000000 +0200 -@@ -148,7 +148,7 @@ - - #ifdef U_HAVE_MMAP - /* Use the predefined value. */ --#elif U_PLATFORM_HAS_WIN32_API -+#elif U_PLATFORM_USES_ONLY_WIN32_API - # define U_HAVE_MMAP 0 - #else - # define U_HAVE_MMAP 1 -@@ -171,7 +171,7 @@ - */ - #ifdef U_HAVE_DIRENT_H - /* Use the predefined value. */ --#elif U_PLATFORM_HAS_WIN32_API -+#elif U_PLATFORM_USES_ONLY_WIN32_API - # define U_HAVE_DIRENT_H 0 - #else - # define U_HAVE_DIRENT_H 1 -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/common/umutex.cpp icu-56.1/source/common/umutex.cpp ---- icu-56.1.orig/source/common/umutex.cpp 2015-09-24 00:32:36.000000000 +0200 -+++ icu-56.1/source/common/umutex.cpp 2015-09-27 15:30:01.000000000 +0200 -@@ -37,7 +37,7 @@ - // Build time user mutex hook: #include "U_USER_MUTEX_CPP" - #include U_MUTEX_XSTR(U_USER_MUTEX_CPP) - --#elif U_PLATFORM_HAS_WIN32_API -+#elif U_PLATFORM_USES_ONLY_WIN32_API - - //------------------------------------------------------------------------------------------- - // -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/common/umutex.h icu-56.1/source/common/umutex.h ---- icu-56.1.orig/source/common/umutex.h 2015-09-24 00:32:30.000000000 +0200 -+++ icu-56.1/source/common/umutex.h 2015-09-27 15:30:01.000000000 +0200 -@@ -74,7 +74,7 @@ - } - U_NAMESPACE_END - --#elif U_PLATFORM_HAS_WIN32_API -+#elif U_PLATFORM_USES_ONLY_WIN32_API - - // MSVC compiler. Reads and writes of volatile variables have - // acquire and release memory semantics, respectively. -@@ -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. -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/common/wintz.c icu-56.1/source/common/wintz.c ---- icu-56.1.orig/source/common/wintz.c 2015-09-24 00:32:32.000000000 +0200 -+++ icu-56.1/source/common/wintz.c 2015-09-27 15:30:01.000000000 +0200 -@@ -11,7 +11,7 @@ - - #include "unicode/utypes.h" - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - - #include "wintz.h" - #include "cmemory.h" -@@ -435,4 +435,4 @@ - return icuid; - } - --#endif /* U_PLATFORM_HAS_WIN32_API */ -+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */ -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/common/wintz.h icu-56.1/source/common/wintz.h ---- icu-56.1.orig/source/common/wintz.h 2015-09-24 00:32:32.000000000 +0200 -+++ icu-56.1/source/common/wintz.h 2015-09-27 15:30:01.000000000 +0200 -@@ -14,7 +14,7 @@ - - #include "unicode/utypes.h" - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - - /** - * \file -@@ -29,6 +29,6 @@ - U_CFUNC const char* U_EXPORT2 - uprv_detectWindowsTimeZone(); - --#endif /* U_PLATFORM_HAS_WIN32_API */ -+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */ - - #endif /* __WINTZ */ -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/i18n/datefmt.cpp icu-56.1/source/i18n/datefmt.cpp ---- icu-56.1.orig/source/i18n/datefmt.cpp 2015-09-24 00:32:06.000000000 +0200 -+++ icu-56.1/source/i18n/datefmt.cpp 2015-09-27 15:30:01.000000000 +0200 -@@ -496,7 +496,7 @@ - DateFormat::create(EStyle timeStyle, EStyle dateStyle, const Locale& locale) - { - UErrorCode status = U_ZERO_ERROR; --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - char buffer[8]; - int32_t count = locale.getKeywordValue("compat", buffer, sizeof(buffer), status); - -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/i18n/windtfmt.cpp icu-56.1/source/i18n/windtfmt.cpp ---- icu-56.1.orig/source/i18n/windtfmt.cpp 2015-09-24 00:32:06.000000000 +0200 -+++ icu-56.1/source/i18n/windtfmt.cpp 2015-09-27 15:30:01.000000000 +0200 -@@ -11,7 +11,7 @@ - - #include "unicode/utypes.h" - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - - #if !UCONFIG_NO_FORMATTING - -@@ -318,5 +318,5 @@ - - #endif /* #if !UCONFIG_NO_FORMATTING */ - --#endif // U_PLATFORM_HAS_WIN32_API -+#endif // U_PLATFORM_USES_ONLY_WIN32_API - -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/i18n/windtfmt.h icu-56.1/source/i18n/windtfmt.h ---- icu-56.1.orig/source/i18n/windtfmt.h 2015-09-24 00:32:04.000000000 +0200 -+++ icu-56.1/source/i18n/windtfmt.h 2015-09-27 15:30:01.000000000 +0200 -@@ -14,7 +14,7 @@ - - #include "unicode/utypes.h" - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - - #if !UCONFIG_NO_FORMATTING - -@@ -131,6 +131,6 @@ - - #endif /* #if !UCONFIG_NO_FORMATTING */ - --#endif // U_PLATFORM_HAS_WIN32_API -+#endif // U_PLATFORM_USES_ONLY_WIN32_API - - #endif // __WINDTFMT -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/i18n/wintzimpl.cpp icu-56.1/source/i18n/wintzimpl.cpp ---- icu-56.1.orig/source/i18n/wintzimpl.cpp 2015-09-24 00:32:08.000000000 +0200 -+++ icu-56.1/source/i18n/wintzimpl.cpp 2015-09-27 15:30:01.000000000 +0200 -@@ -11,7 +11,7 @@ - - #include "unicode/utypes.h" - --#if U_PLATFORM_HAS_WIN32_API && !UCONFIG_NO_FORMATTING -+#if U_PLATFORM_USES_ONLY_WIN32_API && !UCONFIG_NO_FORMATTING - - #include "wintzimpl.h" - -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/i18n/wintzimpl.h icu-56.1/source/i18n/wintzimpl.h ---- icu-56.1.orig/source/i18n/wintzimpl.h 2015-09-24 00:32:04.000000000 +0200 -+++ icu-56.1/source/i18n/wintzimpl.h 2015-09-27 15:30:01.000000000 +0200 -@@ -14,7 +14,7 @@ - - #include "unicode/utypes.h" - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - /** - * \file - * \brief C API: Utilities for dealing w/ Windows time zones. -@@ -32,6 +32,6 @@ - uprv_getWindowsTimeZoneInfo(TIME_ZONE_INFORMATION *zoneInfo, const UChar *icuid, int32_t length); - - --#endif /* U_PLATFORM_HAS_WIN32_API */ -+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */ - - #endif /* __WINTZIMPL */ -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/test/intltest/dtfmttst.cpp icu-56.1/source/test/intltest/dtfmttst.cpp ---- icu-56.1.orig/source/test/intltest/dtfmttst.cpp 2015-09-24 00:31:10.000000000 +0200 -+++ icu-56.1/source/test/intltest/dtfmttst.cpp 2015-09-27 15:30:01.000000000 +0200 -@@ -23,7 +23,7 @@ - #include "caltest.h" // for fieldName - #include // for sprintf - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - #include "windttst.h" - #endif - -@@ -2361,7 +2361,7 @@ - - void DateFormatTest::TestHost(void) - { --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - Win32DateTimeTest::testLocales(this); - #endif - } -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/test/intltest/uobjtest.cpp icu-56.1/source/test/intltest/uobjtest.cpp ---- icu-56.1.orig/source/test/intltest/uobjtest.cpp 2015-09-24 00:31:12.000000000 +0200 -+++ icu-56.1/source/test/intltest/uobjtest.cpp 2015-09-27 15:30:01.000000000 +0200 -@@ -382,13 +382,11 @@ - TESTCLASSID_FACTORY(IndianCalendar, Calendar::createInstance(Locale("@calendar=indian"), status)); - TESTCLASSID_FACTORY(ChineseCalendar, Calendar::createInstance(Locale("@calendar=chinese"), status)); - TESTCLASSID_FACTORY(TaiwanCalendar, Calendar::createInstance(Locale("@calendar=roc"), status)); --#if U_PLATFORM_HAS_WIN32_API -- TESTCLASSID_FACTORY(Win32DateFormat, DateFormat::createDateInstance(DateFormat::kFull, Locale("@compat=host"))); - #if U_PLATFORM_USES_ONLY_WIN32_API -+ TESTCLASSID_FACTORY(Win32DateFormat, DateFormat::createDateInstance(DateFormat::kFull, Locale("@compat=host"))); - TESTCLASSID_FACTORY(Win32NumberFormat, NumberFormat::createInstance(Locale("@compat=host"), status)); - #endif - #endif --#endif - - #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILE_IO - /* TESTCLASSID_ABSTRACT(BreakIterator); No staticID! */ -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/test/intltest/windttst.cpp icu-56.1/source/test/intltest/windttst.cpp ---- icu-56.1.orig/source/test/intltest/windttst.cpp 2015-09-24 00:31:14.000000000 +0200 -+++ icu-56.1/source/test/intltest/windttst.cpp 2015-09-27 15:30:01.000000000 +0200 -@@ -11,7 +11,7 @@ - - #include "unicode/utypes.h" - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - - #if !UCONFIG_NO_FORMATTING - -@@ -193,4 +193,4 @@ - - #endif /* #if !UCONFIG_NO_FORMATTING */ - --#endif /* U_PLATFORM_HAS_WIN32_API */ -+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */ -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/test/intltest/windttst.h icu-56.1/source/test/intltest/windttst.h ---- icu-56.1.orig/source/test/intltest/windttst.h 2015-09-24 00:31:06.000000000 +0200 -+++ icu-56.1/source/test/intltest/windttst.h 2015-09-27 15:30:01.000000000 +0200 -@@ -14,7 +14,7 @@ - - #include "unicode/utypes.h" - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - - #if !UCONFIG_NO_FORMATTING - -@@ -36,6 +36,6 @@ - - #endif /* #if !UCONFIG_NO_FORMATTING */ - --#endif // U_PLATFORM_HAS_WIN32_API -+#endif // U_PLATFORM_USES_ONLY_WIN32_API - - #endif // __WINDTTST -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/test/intltest/winutil.cpp icu-56.1/source/test/intltest/winutil.cpp ---- icu-56.1.orig/source/test/intltest/winutil.cpp 2015-09-24 00:31:04.000000000 +0200 -+++ icu-56.1/source/test/intltest/winutil.cpp 2015-09-27 15:30:01.000000000 +0200 -@@ -11,7 +11,7 @@ - - #include "unicode/utypes.h" - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - - #if !UCONFIG_NO_FORMATTING - -@@ -92,4 +92,4 @@ - - #endif /* #if !UCONFIG_NO_FORMATTING */ - --#endif /* U_PLATFORM_HAS_WIN32_API */ -+#endif /* U_PLATFORM_USES_ONLY_WIN32_API */ -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/test/intltest/winutil.h icu-56.1/source/test/intltest/winutil.h ---- icu-56.1.orig/source/test/intltest/winutil.h 2015-09-24 00:31:04.000000000 +0200 -+++ icu-56.1/source/test/intltest/winutil.h 2015-09-27 15:30:01.000000000 +0200 -@@ -14,7 +14,7 @@ - - #include "unicode/utypes.h" - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - - #if !UCONFIG_NO_FORMATTING - -@@ -41,6 +41,6 @@ - - #endif /* #if !UCONFIG_NO_FORMATTING */ - --#endif // U_PLATFORM_HAS_WIN32_API -+#endif // U_PLATFORM_USES_ONLY_WIN32_API - - #endif // __WINUTIL -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/test/perf/collperf/collperf.cpp icu-56.1/source/test/perf/collperf/collperf.cpp ---- icu-56.1.orig/source/test/perf/collperf/collperf.cpp 2015-09-24 00:31:32.000000000 +0200 -+++ icu-56.1/source/test/perf/collperf/collperf.cpp 2015-09-27 15:30:01.000000000 +0200 -@@ -112,7 +112,7 @@ - ucol_getSortKey(col, data[i].icu_data, data[i].icu_data_len, icu_key, MAX_KEY_LENGTH); - } - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - // pre-generated in CollPerfTest::prepareData(), need not to check error here - void win_key_null(int32_t i){ - //LCMAP_SORTsk 0x00000400 // WC sort sk (normalize) -@@ -294,7 +294,7 @@ - return strcmp((char *) da->icu_key, (char *) db->icu_key); - } - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - static int win_cmp_null(const void *a, const void *b) { - QCAST(); - //CSTR_LESS_THAN 1 -@@ -329,7 +329,7 @@ - - QFUNC(posix_strcoll_null, strcoll, posix_data) - QFUNC(posix_cmpkey, strcmp, posix_key) --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - QFUNC(win_cmpkey, strcmp, win_key) - QFUNC(win_wcscmp, wcscmp, win_data) - #endif -@@ -449,7 +449,7 @@ - return strcmp( (char *) rnd[i].icu_key, (char *) ord[j].icu_key ); - } - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - int win_cmp_null(int32_t i, int32_t j) { - int t = CompareStringW(win_langid, 0, rnd[i].win_data, -1, ord[j].win_data, -1); - if (t == 0){ -@@ -586,7 +586,7 @@ - locale = "en_US"; // set default locale - } - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - if (options[i].doesOccur) { - char *endp; - int tmp = strtol(options[i].value, &endp, 0); -@@ -686,7 +686,7 @@ - TEST_KEYGEN(TestIcu_KeyGen_null, icu_key_null); - TEST_KEYGEN(TestIcu_KeyGen_len, icu_key_len); - TEST_KEYGEN(TestPosix_KeyGen_null, posix_key_null); --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - TEST_KEYGEN(TestWin_KeyGen_null, win_key_null); - TEST_KEYGEN(TestWin_KeyGen_len, win_key_len); - #endif -@@ -712,7 +712,7 @@ - TEST_QSORT(TestIcu_qsort_usekey, icu_cmpkey); - TEST_QSORT(TestPosix_qsort_strcoll_null, posix_strcoll_null); - TEST_QSORT(TestPosix_qsort_usekey, posix_cmpkey); --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - TEST_QSORT(TestWin_qsort_CompareStringW_null, win_cmp_null); - TEST_QSORT(TestWin_qsort_CompareStringW_len, win_cmp_len); - TEST_QSORT(TestWin_qsort_usekey, win_cmpkey); -@@ -727,7 +727,7 @@ - TEST_BIN(TestIcu_BinarySearch_cmpCPO, icu_cmpcpo); - TEST_BIN(TestPosix_BinarySearch_strcoll_null, posix_strcoll_null); - TEST_BIN(TestPosix_BinarySearch_usekey, posix_cmpkey); --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - TEST_BIN(TestWin_BinarySearch_CompareStringW_null, win_cmp_null); - TEST_BIN(TestWin_BinarySearch_CompareStringW_len, win_cmp_len); - #endif -@@ -827,7 +827,7 @@ - t = strxfrm(posix_key->last(), posix_data->dataOf(i), s); - if (t != s) {status = U_INVALID_FORMAT_ERROR;return;} - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - // Win data - s = icu_data->lengthOf(i) + 1; // plus terminal NULL - win_data->append_one(s); -@@ -850,7 +850,7 @@ - rnd_index[i].posix_key = posix_key->last(); - rnd_index[i].posix_data = posix_data->dataOf(i); - rnd_index[i].posix_data_len = posix_data->lengthOf(i); --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - rnd_index[i].win_key = win_key->dataOf(i); - rnd_index[i].win_data = win_data->dataOf(i); - rnd_index[i].win_data_len = win_data->lengthOf(i); -@@ -869,7 +869,7 @@ - SORT(ord_icu_key, icu_cmpkey); - SORT(ord_posix_data, posix_strcoll_null); - SORT(ord_posix_key, posix_cmpkey); --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - SORT(ord_win_data, win_cmp_len); - SORT(ord_win_key, win_cmpkey); - SORT(ord_win_wcscmp, win_wcscmp); -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/test/perf/normperf/normperf.h icu-56.1/source/test/perf/normperf/normperf.h ---- icu-56.1.orig/source/test/perf/normperf/normperf.h 2015-09-24 00:31:28.000000000 +0200 -+++ icu-56.1/source/test/perf/normperf/normperf.h 2015-09-27 15:30:01.000000000 +0200 -@@ -315,7 +315,7 @@ - } - #endif - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - - int32_t WinNormNFD(const UChar* src, int32_t srcLen, UChar* dest, int32_t dstLen, int32_t options, UErrorCode* status) { - return FoldStringW(MAP_COMPOSITE,src,srcLen,dest,dstLen); -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/tools/ctestfw/unicode/utimer.h icu-56.1/source/tools/ctestfw/unicode/utimer.h ---- icu-56.1.orig/source/tools/ctestfw/unicode/utimer.h 2015-09-24 00:32:42.000000000 +0200 -+++ icu-56.1/source/tools/ctestfw/unicode/utimer.h 2015-09-27 15:30:01.000000000 +0200 -@@ -10,7 +10,7 @@ - - #include "unicode/utypes.h" - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - # define VC_EXTRALEAN - # define WIN32_LEAN_AND_MEAN - # include -@@ -160,7 +160,7 @@ - typedef void FuntionToBeTimed(void* param); - - --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - - struct UTimer{ - LARGE_INTEGER start; -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/tools/genrb/derb.cpp icu-56.1/source/tools/genrb/derb.cpp ---- icu-56.1.orig/source/tools/genrb/derb.cpp 2015-09-24 00:32:48.000000000 +0200 -+++ icu-56.1/source/tools/genrb/derb.cpp 2015-09-27 15:38:20.000000000 +0200 -@@ -204,7 +204,7 @@ - UBool fromICUData = !uprv_strcmp(inputDir, "-"); - if (!fromICUData) { - UBool absfilename = *arg == U_FILE_SEP_CHAR; --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_HAS_WIN32_API && U_PLATFORM != U_PF_CYGWIN - if (!absfilename) { - absfilename = (uprv_strlen(arg) > 2 && isalpha(arg[0]) - && arg[1] == ':' && arg[2] == U_FILE_SEP_CHAR); -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/tools/toolutil/udbgutil.cpp icu-56.1/source/tools/toolutil/udbgutil.cpp ---- icu-56.1.orig/source/tools/toolutil/udbgutil.cpp 2015-09-24 00:32:54.000000000 +0200 -+++ icu-56.1/source/tools/toolutil/udbgutil.cpp 2015-09-27 15:30:33.000000000 +0200 -@@ -352,8 +352,10 @@ - */ - U_CAPI const char *udbg_getPlatform(void) - { --#if U_PLATFORM_HAS_WIN32_API -+#if U_PLATFORM_USES_ONLY_WIN32_API - return "Windows"; -+#elif U_PLATFORM == U_PF_CYGWIN -+ return "Cygwin"; - #elif U_PLATFORM == U_PF_UNKNOWN - return "unknown"; - #elif U_PLATFORM == U_PF_DARWIN diff --git a/icu/56.1-putil.patch b/icu/56.1-putil.patch deleted file mode 100644 index 152873a2..00000000 --- a/icu/56.1-putil.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -ur -N -x config.guess -x config.sub -x install-sh icu-56.1.orig/source/common/putil.cpp icu-56.1/source/common/putil.cpp ---- icu-56.1.orig/source/common/putil.cpp 2015-09-24 00:32:32.000000000 +0200 -+++ icu-56.1/source/common/putil.cpp 2015-09-27 15:29:05.000000000 +0200 -@@ -41,6 +41,20 @@ - // Must be before any other #includes. - #include "uposixdefs.h" - -+#if (U_PF_MINGW <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN) && defined(__STRICT_ANSI__) -+/* tzset isn't defined in strict ANSI on Cygwin and MinGW. */ -+#undef __STRICT_ANSI__ -+#endif -+ -+/* -+ * Cygwin with GCC requires inclusion of time.h after the above disabling strict asci mode statement. -+ */ -+#include -+ -+#if !U_PLATFORM_USES_ONLY_WIN32_API -+#include -+#endif -+ - /* include ICU headers */ - #include "unicode/utypes.h" - #include "unicode/putil.h" -@@ -102,20 +116,6 @@ - # include - #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 -- --#if !U_PLATFORM_USES_ONLY_WIN32_API --#include --#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/icu/PKGBUILD b/icu/PKGBUILD index 18e4fa34..a08d66dd 100644 --- a/icu/PKGBUILD +++ b/icu/PKGBUILD @@ -2,7 +2,7 @@ pkgbase=icu pkgname=('icu' 'icu-devel') -pkgver=56.1 +pkgver=59.1 pkgrel=1 pkgdesc="International Components for Unicode library" arch=('i686' 'x86_64') @@ -10,23 +10,17 @@ url="http://www.icu-project.org/" license=('custom:"icu"') depends=('gcc-libs' 'sh') source=(http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver//./_}-src.tgz - 56.1-cygwin-no-w32api.patch - 56.1-putil.patch - 54.1-implicit_declaration.patch - icu-56.1-msys2.patch) -sha256sums=('3a64e9105c734dcf631c0b3ed60404531bce6c0f5a64bfe1a6402a4cc2314816' - '275246b89a908da82a1aa58adcbde3967707a1c714328771d6c707ed67a06e2c' - 'fca7b3cfe2dd890eecc97c8314d6dd967a526f47f8c06b0791976c557412adf0' - '5b2edd523dffe7e82b7d2f70dec1446297d588d11eb81f76d15e9afd0691221a' - 'bb62a6c01158ee37a1236b02263adf3aa40d114347e038046ad52a6253229614') + toolutil-Makefile-ln-force.patch + icu-59.1-msys2.patch) +sha256sums=('7132fdaf9379429d004005217f10e00b7d2319d0fea22bdfddef8991c45b75fe' + 'e85928a287a73cb24f4bd8b891bb10636cda27c09bae01fc003d8bee2dda8986' + 'e9f6f721ca08a60d7df4fc8b3021b43e8c468604a0e86bb8b729186fbb5ac9d7') prepare() { cd ${srcdir}/icu/source - patch -p2 -i ${srcdir}/54.1-implicit_declaration.patch - patch -p2 -i ${srcdir}/56.1-putil.patch - patch -p2 -i ${srcdir}/56.1-cygwin-no-w32api.patch - patch -p2 -i ${srcdir}/icu-56.1-msys2.patch + patch -p2 -i ${srcdir}/toolutil-Makefile-ln-force.patch + patch -p2 -i ${srcdir}/icu-59.1-msys2.patch libtoolize --force --copy autoreconf -fi diff --git a/icu/icu-56.1-msys2.patch b/icu/icu-59.1-msys2.patch similarity index 60% rename from icu/icu-56.1-msys2.patch rename to icu/icu-59.1-msys2.patch index fca71f15..5b233d04 100644 --- a/icu/icu-56.1-msys2.patch +++ b/icu/icu-59.1-msys2.patch @@ -1,24 +1,28 @@ -diff -Naur icu-cygwin/source/acinclude.m4 icu-msys2/source/acinclude.m4 ---- icu-cygwin/source/acinclude.m4 2015-10-08 07:00:26.000000000 +0300 -+++ icu-msys2/source/acinclude.m4 2016-01-12 11:08:37.051850400 +0300 -@@ -44,6 +44,14 @@ +diff -durN icu.orig/source/acinclude.m4 icu/source/acinclude.m4 +--- icu.orig/source/acinclude.m4 2016-06-16 02:58:17.000000000 +0800 ++++ icu/source/acinclude.m4 2017-05-17 14:14:12.781250000 +0800 +@@ -46,6 +46,18 @@ else icu_cv_host_frag=mh-cygwin-msvc fi ;; +i[[34567]]86-*-msys) + if test "$GCC" = yes; then + icu_cv_host_frag=mh-msys ++ else ++ icu_cv_host_frag=mh-msys-msvc + fi ;; +x86_64-*-msys) + if test "$GCC" = yes; then + icu_cv_host_frag=mh-msys64 ++ else ++ icu_cv_host_frag=mh-msys-msvc + fi ;; *-*-mingw*) if test "$GCC" = yes; then AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -diff -Naur icu-cygwin/source/config/mh-msys icu-msys2/source/config/mh-msys ---- icu-cygwin/source/config/mh-msys 1970-01-01 03:00:00.000000000 +0300 -+++ icu-msys2/source/config/mh-msys 2016-01-12 10:43:31.904456200 +0300 +diff -durN icu.orig/source/config/mh-msys icu/source/config/mh-msys +--- icu.orig/source/config/mh-msys 1970-01-01 08:00:00.000000000 +0800 ++++ icu/source/config/mh-msys 2017-05-17 14:15:38.703125000 +0800 @@ -0,0 +1,141 @@ +## -*-makefile-*- +## MSYS2-specific setup @@ -26,8 +30,8 @@ diff -Naur icu-cygwin/source/config/mh-msys icu-msys2/source/config/mh-msys +## others. All Rights Reserved. + +## Commands to generate dependency files -+GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) -+GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) ++GEN_DEPS.c=$(CC) -E -MM $(DEFS) $(CPPFLAGS) ++GEN_DEPS.cc=$(CXX) -E -MM $(DEFS) $(CPPFLAGS) + +## Flags to create/use a static library +ifneq ($(ENABLE_SHARED),YES) @@ -57,8 +61,8 @@ diff -Naur icu-cygwin/source/config/mh-msys icu-msys2/source/config/mh-msys +## Commands to make a shared library +# $(subst) won't work in shell script. #M# at the end omits these +# lines from the shell script (Make only) -+SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(subst msys-,lib,$@).$(A)#M# -+SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(subst msys-,lib,$@).$(A)#M# ++SHLIB.c=$(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(subst msys-,lib,$@).$(A)#M# ++SHLIB.cc=$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(subst msys-,lib,$@).$(A)#M# +# the #SH# lines don't go through further postprocessing. +# so, they must be valid shell script starting from column 4 +#SH#SHLIB_c="$(CC) $(CFLAGS) $(LDFLAGS) -shared " @@ -66,8 +70,8 @@ diff -Naur icu-cygwin/source/config/mh-msys icu-msys2/source/config/mh-msys + + +## Compiler switch to embed a runtime search path -+LD_RPATH= -+LD_RPATH_PRE= -Wl,-rpath, ++LD_RPATH= ++LD_RPATH_PRE=-Wl,-rpath, + +## Compiler switch to embed a library name +LD_SONAME = @@ -119,7 +123,7 @@ diff -Naur icu-cygwin/source/config/mh-msys icu-msys2/source/config/mh-msys + +## Versioned libraries rules +#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO) -+# $(RM) $@ && cp ${ $@ -+ @$(GEN_DEPS.c) $< >> $@ || (rm -f $@ && FALSE) ++@echo "generating dependency information for $<" ++@echo -n "$@ " > $@ ++@$(GEN_DEPS.c) $< >> $@ || (rm -f $@ && FALSE) + +%.d: $(srcdir)/%.cpp -+ @echo "generating dependency information for $<" -+ @echo -n "$@ " > $@ -+ @$(GEN_DEPS.cc) $< >> $@ || (rm -f $@ && FALSE) ++@echo "generating dependency information for $<" ++@echo -n "$@ " > $@ ++@$(GEN_DEPS.cc) $< >> $@ || (rm -f $@ && FALSE) + +## Versioned target for a shared library. +## Since symbolic links don't work the same way on Windows, @@ -264,9 +268,9 @@ diff -Naur icu-cygwin/source/config/mh-msys64 icu-msys2/source/config/mh-msys64 + +## Versioned libraries rules +#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO) -+# $(RM) $@ && cp ${&1 | grep 'GNU coreutils'`"; then + as_fn_error $? "link.exe is not a valid linker. Your PATH is incorrect. + Please follow the directions in ICU's readme." "$LINENO" 5 +@@ -4307,7 +4307,7 @@ + { $as_echo "$as_me:${as_lineno-$LINENO}: checking checking for executable suffix" >&5 + $as_echo_n "checking checking for executable suffix... " >&6; } case "${host}" in - *-*-cygwin*|*-*-mingw*) EXEEXT=.exe ;; + *-*-cygwin*|*-*-msys*|*-*-mingw*) EXEEXT=.exe ;; *) EXEEXT="" ;; esac ac_exeext=$EXEEXT -@@ -575,7 +575,7 @@ +@@ -4354,7 +4354,7 @@ + CFLAGS="$CFLAGS -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings" + else + case "${host}" in +- *-*-cygwin) ++ *-*-cygwin | *-*-msys) + if test "`$CC /help 2>&1 | head -c9`" = "Microsoft" + then + CFLAGS="$CFLAGS /W4" +@@ -4368,7 +4368,7 @@ + CXXFLAGS="$CXXFLAGS -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long" + else + case "${host}" in +- *-*-cygwin) ++ *-*-cygwin | *-*-msys) + if test "`$CXX /help 2>&1 | head -c9`" = "Microsoft" + then + CXXFLAGS="$CXXFLAGS /W4" +@@ -4898,7 +4898,7 @@ + fi + fi + ;; +- *-*-cygwin) ++ *-*-cygwin | *-*-msys) + # vcvarsamd64.bat should have been used to enable 64-bit builds. + # We only do this check to display the correct answer. + ## TODO: cross compiler problem +@@ -5147,6 +5147,18 @@ + else + icu_cv_host_frag=mh-cygwin-msvc + fi ;; ++i[[34567]]86-*-msys) ++ if test "$GCC" = yes; then ++ icu_cv_host_frag=mh-msys ++ else ++ icu_cv_host_frag=mh-msys-msvc ++ fi ;; ++x86_64-*-msys) ++ if test "$GCC" = yes; then ++ icu_cv_host_frag=mh-msys64 ++ else ++ icu_cv_host_frag=mh-msys-msvc ++ fi ;; + *-*-mingw*) + if test "$GCC" = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +@@ -5173,6 +5185,7 @@ + case "${host}" in + *-*-mingw*) icu_cv_host_frag=mh-msys-msvc ;; + *-*-cygwin) icu_cv_host_frag=mh-cygwin-msvc ;; ++ *-*-msys) icu_cv_host_frag=mh-msys-msvc ;; + esac + fi ;; + *-*-*bsd*|*-*-dragonfly*) icu_cv_host_frag=mh-bsd-gcc ;; +@@ -6267,7 +6280,7 @@ fi # Check to see if we are using CygWin with MSVC case "${host}" in @@ -340,16 +407,55 @@ diff -Naur icu-cygwin/source/configure.ac icu-msys2/source/configure.ac # For gcc, the thread options are set by mh-mingw/mh-cygwin # For msvc, the thread options are set by runConfigureICU : -@@ -1019,7 +1019,7 @@ +@@ -7441,7 +7454,7 @@ CHECK_UTF16_STRING_RESULT="available" fi ;; -*-*-cygwin) -+*-*-cygwin|*-*-msys*) ++*-*-cygwin | *-*-msys) # wchar_t can be used CHECK_UTF16_STRING_RESULT="available" ;; -@@ -1255,7 +1255,7 @@ +@@ -7780,7 +7793,7 @@ + *-*-aix*) platform=U_AIX ;; + *-*-hpux*) platform=U_HPUX ;; + *-apple-darwin*|*-apple-rhapsody*) platform=U_DARWIN ;; +- *-*-cygwin*) platform=U_CYGWIN ;; ++ *-*-cygwin* | *-*-msys*) platform=U_CYGWIN ;; + *-*-mingw*) platform=U_MINGW ;; + *-*ibm-openedition*|*-*-os390*) platform=OS390 + if test "${ICU_ENABLE_ASCII_STRINGS}" != "1"; then +diff -durN icu.orig/source/configure.ac icu/source/configure.ac +--- icu.orig/source/configure.ac 2017-04-07 15:40:30.000000000 +0800 ++++ icu/source/configure.ac 2017-05-17 14:14:13.343750000 +0800 +@@ -224,7 +224,7 @@ + # files, which confuses the AC_EXEEXT macro. + AC_MSG_CHECKING(checking for executable suffix) + case "${host}" in +- *-*-cygwin*|*-*-mingw*) EXEEXT=.exe ;; ++ *-*-cygwin*|*-*-msys*|*-*-mingw*) EXEEXT=.exe ;; + *) EXEEXT="" ;; + esac + ac_exeext=$EXEEXT +@@ -571,7 +571,7 @@ + fi + # Check to see if we are using CygWin with MSVC + case "${host}" in +-*-pc-cygwin*|*-pc-mingw*) ++*-pc-cygwin*|*-pc-msys*|*-pc-mingw*) + # For gcc, the thread options are set by mh-mingw/mh-cygwin + # For msvc, the thread options are set by runConfigureICU + : +@@ -1023,7 +1023,7 @@ + CHECK_UTF16_STRING_RESULT="available" + fi + ;; +-*-*-cygwin) ++*-*-cygwin | *-*-msys) + # wchar_t can be used + CHECK_UTF16_STRING_RESULT="available" + ;; +@@ -1257,7 +1257,7 @@ *-*-aix*) platform=U_AIX ;; *-*-hpux*) platform=U_HPUX ;; *-apple-darwin*|*-apple-rhapsody*) platform=U_DARWIN ;; @@ -358,19 +464,19 @@ diff -Naur icu-cygwin/source/configure.ac icu-msys2/source/configure.ac *-*-mingw*) platform=U_MINGW ;; *-*ibm-openedition*|*-*-os390*) platform=OS390 if test "${ICU_ENABLE_ASCII_STRINGS}" != "1"; then -diff -Naur icu-cygwin/source/runConfigureICU icu-msys2/source/runConfigureICU ---- icu-cygwin/source/runConfigureICU 2015-10-08 07:00:26.000000000 +0300 -+++ icu-msys2/source/runConfigureICU 2016-01-12 10:48:20.601264200 +0300 -@@ -51,6 +51,7 @@ +diff -durN icu.orig/source/runConfigureICU icu/source/runConfigureICU +--- icu.orig/source/runConfigureICU 2017-01-23 08:38:28.000000000 +0800 ++++ icu/source/runConfigureICU 2017-05-17 14:14:13.421875000 +0800 +@@ -53,6 +53,7 @@ MacOSX Use the default compilers on MacOS X (Darwin) MacOSX/GCC Use the GNU gcc/g++ compilers on MacOSX (Darwin) MinGW Use the GNU gcc/g++ compilers on MinGW -+ MSYS Use the GNU gcc/g++ compilers on MSYS ++ MSYS Use the GNU gcc/g++ compilers on MSYS MSYS/MSVC Use the Microsoft Visual C++ computer on MSYS QNX Use the QNX QCC compiler on QNX/Neutrino Solaris Use the Sun cc/CC compilers on Solaris -@@ -316,6 +317,12 @@ - CXXFLAGS="--std=c++03" +@@ -317,6 +318,12 @@ + RELEASE_CXXFLAGS='-O3' export CXXFLAGS ;; + MSYS) @@ -382,10 +488,24 @@ diff -Naur icu-cygwin/source/runConfigureICU icu-msys2/source/runConfigureICU MSYS/MSVC) THE_OS="MSYS" THE_COMP="Microsoft Visual C++" -diff -Naur icu-cygwin/source/tools/pkgdata/pkgdata.cpp icu-msys2/source/tools/pkgdata/pkgdata.cpp ---- icu-cygwin/source/tools/pkgdata/pkgdata.cpp 2015-10-08 06:54:02.000000000 +0300 -+++ icu-msys2/source/tools/pkgdata/pkgdata.cpp 2016-01-12 10:52:10.882390900 +0300 -@@ -914,11 +914,19 @@ +diff -durN icu.orig/source/tools/Makefile.in icu/source/tools/Makefile.in +--- icu.orig/source/tools/Makefile.in 2017-04-13 17:55:03.000000000 +0800 ++++ icu/source/tools/Makefile.in 2017-05-17 14:14:13.484375000 +0800 +@@ -23,6 +23,10 @@ + SUBDIRS += escapesrc + endif + ++ifneq (@platform_make_fragment_name@,mh-msys-msvc) ++SUBDIRS += escapesrc ++endif ++ + ## List of phony targets + .PHONY : all all-local all-recursive install install-local \ + install-recursive clean clean-local clean-recursive distclean \ +diff -durN icu.orig/source/tools/pkgdata/pkgdata.cpp icu/source/tools/pkgdata/pkgdata.cpp +--- icu.orig/source/tools/pkgdata/pkgdata.cpp 2017-03-21 09:03:49.000000000 +0800 ++++ icu/source/tools/pkgdata/pkgdata.cpp 2017-05-17 14:14:13.578125000 +0800 +@@ -922,11 +922,19 @@ // Name the import library lib*.dll.a sprintf(libFileNames[LIB_FILE_MINGW], "lib%s.dll.a", libName); #elif U_PLATFORM == U_PF_CYGWIN @@ -405,10 +525,10 @@ diff -Naur icu-cygwin/source/tools/pkgdata/pkgdata.cpp icu-msys2/source/tools/pk libName, version_major, FILE_EXTENSION_SEP, -diff -Naur icu-cygwin/source/tools/pkgdata/pkgtypes.h icu-msys2/source/tools/pkgdata/pkgtypes.h ---- icu-cygwin/source/tools/pkgdata/pkgtypes.h 2015-10-08 06:54:02.000000000 +0300 -+++ icu-msys2/source/tools/pkgdata/pkgtypes.h 2016-01-12 10:49:37.430862700 +0300 -@@ -144,7 +144,11 @@ +diff -durN icu.orig/source/tools/pkgdata/pkgtypes.h icu/source/tools/pkgdata/pkgtypes.h +--- icu.orig/source/tools/pkgdata/pkgtypes.h 2017-01-20 08:20:31.000000000 +0800 ++++ icu/source/tools/pkgdata/pkgtypes.h 2017-05-17 14:14:13.671875000 +0800 +@@ -146,7 +146,11 @@ # define UDATA_LIB_SUFFIX ".lib" #elif U_PLATFORM == U_PF_CYGWIN @@ -421,10 +541,10 @@ diff -Naur icu-cygwin/source/tools/pkgdata/pkgtypes.h icu-msys2/source/tools/pkg # define LIB_STATIC_PREFIX "lib" # define OBJ_SUFFIX ".o" # define UDATA_LIB_SUFFIX ".a" -diff -Naur icu-cygwin/source/tools/toolutil/udbgutil.cpp icu-msys2/source/tools/toolutil/udbgutil.cpp ---- icu-cygwin/source/tools/toolutil/udbgutil.cpp 2016-01-12 10:42:28.239768000 +0300 -+++ icu-msys2/source/tools/toolutil/udbgutil.cpp 2016-01-12 10:56:07.931873500 +0300 -@@ -355,7 +355,11 @@ +diff -durN icu.orig/source/tools/toolutil/udbgutil.cpp icu/source/tools/toolutil/udbgutil.cpp +--- icu.orig/source/tools/toolutil/udbgutil.cpp 2017-04-10 22:22:16.000000000 +0800 ++++ icu/source/tools/toolutil/udbgutil.cpp 2017-05-17 14:14:13.765625000 +0800 +@@ -354,7 +354,11 @@ #if U_PLATFORM_USES_ONLY_WIN32_API return "Windows"; #elif U_PLATFORM == U_PF_CYGWIN diff --git a/icu/toolutil-Makefile-ln-force.patch b/icu/toolutil-Makefile-ln-force.patch new file mode 100644 index 00000000..ddb9b6d1 --- /dev/null +++ b/icu/toolutil-Makefile-ln-force.patch @@ -0,0 +1,26 @@ +diff -durN icu.orig/source/tools/toolutil/Makefile.in icu/source/tools/toolutil/Makefile.in +--- icu.orig/source/tools/toolutil/Makefile.in 2017-03-17 03:01:12.000000000 +0800 ++++ icu/source/tools/toolutil/Makefile.in 2017-05-17 14:54:15.562500000 +0800 +@@ -96,18 +96,18 @@ + ifneq ($(ENABLE_SHARED),) + $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir) + ifneq ($(FINAL_SO_TARGET),$(SO_TARGET)) +- cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET)) ++ cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -sf $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET)) + ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET)) +- cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET)) ++ cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -sf $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET)) + endif + endif + ifneq ($(IMPORT_LIB_EXT),) + $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir) + ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB)) +- cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(IMPORT_LIB)) && ln -s $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(IMPORT_LIB)) ++ cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(IMPORT_LIB)) && ln -sf $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(IMPORT_LIB)) + endif + ifneq ($(MIDDLE_IMPORT_LIB),$(FINAL_IMPORT_LIB)) +- cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_IMPORT_LIB)) && ln -s $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(MIDDLE_IMPORT_LIB)) ++ cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_IMPORT_LIB)) && ln -sf $(notdir $(FINAL_IMPORT_LIB)) $(notdir $(MIDDLE_IMPORT_LIB)) + endif + endif + endif