diff options
author | Eike Rathke <erack@redhat.com> | 2019-10-28 16:14:18 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2019-10-28 18:01:27 +0100 |
commit | 398e1e6ae83999eea8fb8c845190667695ac115f (patch) | |
tree | d3debf18606dde15bf1d3289aa38d9c2f57782d0 /external | |
parent | d13219b10a69a2533b1afe258edeadac2b5c0651 (diff) |
Upgrade to ICU 64.2
As an interim step to upgrade to ICU 65.1
Adds new scripts and Unicode blocks from Unicode 12.
Change-Id: Idc4a6b29ffb04bcb424522fcbd29a8db0428c056
Reviewed-on: https://gerrit.libreoffice.org/81611
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
Diffstat (limited to 'external')
-rw-r--r-- | external/icu/CVE-2018-18928.patch.2 | 63 | ||||
-rw-r--r-- | external/icu/UnpackedTarball_icu.mk | 3 | ||||
-rw-r--r-- | external/icu/clang-cl.patch | 37 | ||||
-rw-r--r-- | external/icu/icu4c-64-54558d1dd01b29c763ca12b6327108fe3ac66637.patch.2 | 268 | ||||
-rw-r--r-- | external/icu/icu4c-build.patch.1 | 2 | ||||
-rw-r--r-- | external/icu/icu4c-khmerbreakengine.patch.1 | 60 | ||||
-rw-r--r-- | external/icu/icu4c-mkdir.patch.1 | 8 | ||||
-rw-r--r-- | external/icu/icu4c-rpath.patch.1 | 4 |
8 files changed, 281 insertions, 164 deletions
diff --git a/external/icu/CVE-2018-18928.patch.2 b/external/icu/CVE-2018-18928.patch.2 deleted file mode 100644 index f92cee05ceed..000000000000 --- a/external/icu/CVE-2018-18928.patch.2 +++ /dev/null @@ -1,63 +0,0 @@ -From 6cbd62e59e30f73b444be89ea71fd74275ac53a4 Mon Sep 17 00:00:00 2001 -From: Shane Carr <shane@unicode.org> -Date: Mon, 29 Oct 2018 23:52:44 -0700 -Subject: [PATCH] ICU-20246 Fixing another integer overflow in number parsing. - -(cherry picked from commit 53d8c8f3d181d87a6aa925b449b51c4a2c922a51) ---- - icu4c/source/i18n/fmtable.cpp | 2 +- - icu4c/source/i18n/number_decimalquantity.cpp | 5 ++++- - icu4c/source/test/intltest/numfmtst.cpp | 8 ++++++++ - .../icu/impl/number/DecimalQuantity_AbstractBCD.java | 5 ++++- - .../impl/number/DecimalQuantity_DualStorageBCD.java | 10 +++++++++- - .../com/ibm/icu/dev/test/format/NumberFormatTest.java | 5 +++++ - 6 files changed, 31 insertions(+), 4 deletions(-) - -diff --git a/icu4c/source/i18n/fmtable.cpp b/icu4c/source/i18n/fmtable.cpp -index 45c7024fc29..8601d95f4a6 100644 ---- a/icu4c/source/i18n/fmtable.cpp -+++ b/icu4c/source/i18n/fmtable.cpp -@@ -734,7 +734,7 @@ CharString *Formattable::internalGetCharString(UErrorCode &status) { - // not print scientific notation for magnitudes greater than -5 and smaller than some amount (+5?). - if (fDecimalQuantity->isZero()) { - fDecimalStr->append("0", -1, status); -- } else if (std::abs(fDecimalQuantity->getMagnitude()) < 5) { -+ } else if (fDecimalQuantity->getMagnitude() != INT32_MIN && std::abs(fDecimalQuantity->getMagnitude()) < 5) { - fDecimalStr->appendInvariantChars(fDecimalQuantity->toPlainString(), status); - } else { - fDecimalStr->appendInvariantChars(fDecimalQuantity->toScientificString(), status); -diff --git a/icu4c/source/i18n/number_decimalquantity.cpp b/icu4c/source/i18n/number_decimalquantity.cpp -index 2c4182b1c6e..f6f2b20fab0 100644 ---- a/icu4c/source/i18n/number_decimalquantity.cpp -+++ b/icu4c/source/i18n/number_decimalquantity.cpp -@@ -820,7 +820,10 @@ UnicodeString DecimalQuantity::toScientificString() const { - } - result.append(u'E'); - int32_t _scale = upperPos + scale; -- if (_scale < 0) { -+ if (_scale == INT32_MIN) { -+ result.append({u"-2147483648", -1}); -+ return result; -+ } else if (_scale < 0) { - _scale *= -1; - result.append(u'-'); - } else { -diff --git a/icu4c/source/test/intltest/numfmtst.cpp b/icu4c/source/test/intltest/numfmtst.cpp -index 34355939113..8d52dc122bf 100644 ---- a/icu4c/source/test/intltest/numfmtst.cpp -+++ b/icu4c/source/test/intltest/numfmtst.cpp -@@ -9226,6 +9226,14 @@ void NumberFormatTest::Test20037_ScientificIntegerOverflow() { - assertEquals(u"Should not overflow and should parse only the first exponent", - u"1E-2147483647", - {sp.data(), sp.length(), US_INV}); -+ -+ // Test edge case overflow of exponent -+ result = Formattable(); -+ nf->parse(u".0003e-2147483644", result, status); -+ sp = result.getDecimalNumber(status); -+ assertEquals(u"Should not overflow", -+ u"3E-2147483648", -+ {sp.data(), sp.length(), US_INV}); - } - - void NumberFormatTest::Test13840_ParseLongStringCrash() { diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk index 4d45f2108f99..4e23ba2686be 100644 --- a/external/icu/UnpackedTarball_icu.mk +++ b/external/icu/UnpackedTarball_icu.mk @@ -41,9 +41,8 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\ external/icu/icu4c-61-werror-shadow.patch.1 \ external/icu/gcc9.patch \ external/icu/char8_t.patch \ - external/icu/CVE-2018-18928.patch.2 \ - external/icu/clang-cl.patch \ external/icu/c++20-comparison.patch \ + external/icu/icu4c-64-54558d1dd01b29c763ca12b6327108fe3ac66637.patch.2 \ )) $(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict)) diff --git a/external/icu/clang-cl.patch b/external/icu/clang-cl.patch deleted file mode 100644 index 83e7baecf266..000000000000 --- a/external/icu/clang-cl.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- source/common/umutex.h -+++ source/common/umutex.h -@@ -54,15 +54,15 @@ - - #include <atomic> - --U_NAMESPACE_BEGIN -- - // Export an explicit template instantiation of std::atomic<int32_t>. - // When building DLLs for Windows this is required as it is used as a data member of the exported SharedObject class. - // See digitlst.h, pluralaffix.h, datefmt.h, and others for similar examples. - #if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN - template struct U_COMMON_API std::atomic<int32_t>; - #endif - -+U_NAMESPACE_BEGIN -+ - typedef std::atomic<int32_t> u_atomic_int32_t; - #define ATOMIC_INT32_T_INITIALIZER(val) ATOMIC_VAR_INIT(val) - ---- source/i18n/unicode/numberrangeformatter.h -+++ source/i18n/unicode/numberrangeformatter.h -@@ -186,7 +186,13 @@ - * (When building DLLs for Windows this is required.) - */ - #if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN && !defined(U_IN_DOXYGEN) --template struct U_I18N_API std::atomic<impl::NumberRangeFormatterImpl*>; -+} // namespace number -+U_NAMESPACE_END -+ -+template struct U_I18N_API std::atomic< U_NAMESPACE_QUALIFIER number::impl::NumberRangeFormatterImpl*>; -+ -+U_NAMESPACE_BEGIN -+namespace number { // icu::number - #endif - /** \endcond */ - diff --git a/external/icu/icu4c-64-54558d1dd01b29c763ca12b6327108fe3ac66637.patch.2 b/external/icu/icu4c-64-54558d1dd01b29c763ca12b6327108fe3ac66637.patch.2 new file mode 100644 index 000000000000..5b9a830f6112 --- /dev/null +++ b/external/icu/icu4c-64-54558d1dd01b29c763ca12b6327108fe3ac66637.patch.2 @@ -0,0 +1,268 @@ +From 54558d1dd01b29c763ca12b6327108fe3ac66637 Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev <alon.barlev@gmail.com> +Date: Sat, 30 Mar 2019 09:59:46 +0300 +Subject: [PATCH] ICU-20530 Re-support include under extern "C" + +Up until icu-6.3 icu supported include under extern "C" under the explicit +requirements, see comment of U_NAMESPACE_BEGIN at uversion.h: + + * \def U_NAMESPACE_BEGIN + * This is used to begin a declaration of a public ICU C++ API. + * When not compiling for C++, it does nothing. + * When compiling for C++, it begins an extern "C++" linkage block (to protect + * against cases in which an external client includes ICU header files inside + * an extern "C" linkage block). + * + * It also begins a versioned-ICU-namespace block. + * @stable ICU 2.4 + +Recent changes were made to include C++ headers within global scope which +broke this behavior. + +To keep requested behavior add two additional macros U_CXX_BEGIN, U_CXX_END to +avoid breakage of doxygen while enforcing C++ API visibility. + +Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com> +--- + icu4c/source/common/unicode/char16ptr.h | 5 +++- + icu4c/source/common/unicode/localpointer.h | 2 ++ + icu4c/source/common/unicode/std_string.h | 3 +++ + icu4c/source/common/unicode/umachine.h | 25 +++++++++++++++++++ + icu4c/source/common/unicode/unistr.h | 5 +++- + icu4c/source/common/unicode/uversion.h | 15 ++++------- + .../i18n/unicode/numberrangeformatter.h | 5 +++- + icu4c/source/io/unicode/ustream.h | 2 ++ + icu4c/source/test/hdrtst/Makefile.in | 16 ++++++++++-- + 9 files changed, 63 insertions(+), 15 deletions(-) + +diff --git a/icu4c/source/common/unicode/char16ptr.h b/icu4c/source/common/unicode/char16ptr.h +index a7c5f1a0c5e..f774d7d8b21 100644 +--- a/icu4c/source/common/unicode/char16ptr.h ++++ b/icu4c/source/common/unicode/char16ptr.h +@@ -7,9 +7,12 @@ + #ifndef __CHAR16PTR_H__ + #define __CHAR16PTR_H__ + +-#include <cstddef> + #include "unicode/utypes.h" + ++U_CXX_BEGIN ++#include <cstddef> ++U_CXX_END ++ + /** + * \file + * \brief C++ API: char16_t pointer wrappers with +diff --git a/icu4c/source/common/unicode/localpointer.h b/icu4c/source/common/unicode/localpointer.h +index e011688b1a5..fd26dc40e9d 100644 +--- a/icu4c/source/common/unicode/localpointer.h ++++ b/icu4c/source/common/unicode/localpointer.h +@@ -42,7 +42,9 @@ + + #if U_SHOW_CPLUSPLUS_API + ++U_CXX_BEGIN + #include <memory> ++U_CXX_END + + U_NAMESPACE_BEGIN + +diff --git a/icu4c/source/common/unicode/std_string.h b/icu4c/source/common/unicode/std_string.h +index 729c5639950..d293e714fe0 100644 +--- a/icu4c/source/common/unicode/std_string.h ++++ b/icu4c/source/common/unicode/std_string.h +@@ -32,6 +32,9 @@ + #if defined(__GLIBCXX__) + namespace std { class type_info; } + #endif ++ ++U_CXX_BEGIN + #include <string> ++U_CXX_END + + #endif // __STD_STRING_H__ +diff --git a/icu4c/source/common/unicode/umachine.h b/icu4c/source/common/unicode/umachine.h +index 0205da62eb4..6137c125df4 100644 +--- a/icu4c/source/common/unicode/umachine.h ++++ b/icu4c/source/common/unicode/umachine.h +@@ -75,14 +75,39 @@ + * @stable ICU 2.4 + */ + ++/** ++ * \def U_CXX_BEGIN ++ * This is used to begin a C++ block. ++ * When not compiling for C++, it does nothing. ++ * When compiling for C++, it begins an extern "C++" linkage block (to protect ++ * against cases in which an external client includes ICU header files inside ++ * an extern "C" linkage block). ++ * ++ * @draft ICU 65 ++ */ ++ ++/** ++ * \def U_CXX_END ++ * This is used to end a declaration of a C++ API. ++ * When not compiling for C++, it does nothing. ++ * When compiling for C++, it ends the extern "C++" block begun by ++ * U_CXX_BEGIN. ++ * ++ * @draft ICU 65 ++ */ ++ + #ifdef __cplusplus + # define U_CFUNC extern "C" + # define U_CDECL_BEGIN extern "C" { + # define U_CDECL_END } ++# define U_CXX_BEGIN extern "C++" { ++# define U_CXX_END } + #else + # define U_CFUNC extern + # define U_CDECL_BEGIN + # define U_CDECL_END ++# define U_CXX_BEGIN ++# define U_CXX_END + #endif + + #ifndef U_ATTRIBUTE_DEPRECATED +diff --git a/icu4c/source/common/unicode/unistr.h b/icu4c/source/common/unicode/unistr.h +index d79168b9195..c323e33c07c 100644 +--- a/icu4c/source/common/unicode/unistr.h ++++ b/icu4c/source/common/unicode/unistr.h +@@ -28,7 +28,6 @@ + * \brief C++ API: Unicode String + */ + +-#include <cstddef> + #include "unicode/utypes.h" + #include "unicode/char16ptr.h" + #include "unicode/rep.h" +@@ -36,6 +35,10 @@ + #include "unicode/stringpiece.h" + #include "unicode/bytestream.h" + ++U_CXX_BEGIN ++#include <cstddef> ++U_CXX_END ++ + struct UConverter; // unicode/ucnv.h + + #ifndef USTRING_H +diff --git a/icu4c/source/common/unicode/uversion.h b/icu4c/source/common/unicode/uversion.h +index 4aaa8b4d606..9e6bd13734f 100644 +--- a/icu4c/source/common/unicode/uversion.h ++++ b/icu4c/source/common/unicode/uversion.h +@@ -64,13 +64,10 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; + + /** + * \def U_NAMESPACE_BEGIN +- * This is used to begin a declaration of a public ICU C++ API. ++ * This is used to begin a declaration of a public ICU C++ API within ++ * versioned-ICU-namespace block. + * When not compiling for C++, it does nothing. +- * When compiling for C++, it begins an extern "C++" linkage block (to protect +- * against cases in which an external client includes ICU header files inside +- * an extern "C" linkage block). + * +- * It also begins a versioned-ICU-namespace block. + * @stable ICU 2.4 + */ + +@@ -78,10 +75,8 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; + * \def U_NAMESPACE_END + * This is used to end a declaration of a public ICU C++ API. + * When not compiling for C++, it does nothing. +- * When compiling for C++, it ends the extern "C++" block begun by +- * U_NAMESPACE_BEGIN. ++ * It ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN. + * +- * It also ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN. + * @stable ICU 2.4 + */ + +@@ -116,8 +111,8 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; + namespace icu = U_ICU_NAMESPACE; + # endif + +-# define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE { +-# define U_NAMESPACE_END } } ++# define U_NAMESPACE_BEGIN U_CXX_BEGIN namespace U_ICU_NAMESPACE { ++# define U_NAMESPACE_END } U_CXX_END + # define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE; + # define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE:: + +diff --git a/icu4c/source/i18n/unicode/numberrangeformatter.h b/icu4c/source/i18n/unicode/numberrangeformatter.h +index 4a386b80394..0c6eb62ae1f 100644 +--- a/icu4c/source/i18n/unicode/numberrangeformatter.h ++++ b/icu4c/source/i18n/unicode/numberrangeformatter.h +@@ -5,13 +5,16 @@ + #ifndef __NUMBERRANGEFORMATTER_H__ + #define __NUMBERRANGEFORMATTER_H__ + +-#include <atomic> + #include "unicode/appendable.h" + #include "unicode/fieldpos.h" + #include "unicode/formattedvalue.h" + #include "unicode/fpositer.h" + #include "unicode/numberformatter.h" + ++U_CXX_BEGIN ++#include <atomic> ++U_CXX_END ++ + #ifndef U_HIDE_DRAFT_API + + /** +diff --git a/icu4c/source/io/unicode/ustream.h b/icu4c/source/io/unicode/ustream.h +index c10ce6a2de5..e1ec87c75d3 100644 +--- a/icu4c/source/io/unicode/ustream.h ++++ b/icu4c/source/io/unicode/ustream.h +@@ -34,7 +34,9 @@ + namespace std { class type_info; } // WORKAROUND: http://llvm.org/bugs/show_bug.cgi?id=13364 + #endif + ++U_CXX_BEGIN + #include <iostream> ++U_CXX_END + + U_NAMESPACE_BEGIN + +diff --git a/icu4c/source/test/hdrtst/Makefile.in b/icu4c/source/test/hdrtst/Makefile.in +index 55e833943d5..a485f7a80d6 100644 +--- a/icu4c/source/test/hdrtst/Makefile.in ++++ b/icu4c/source/test/hdrtst/Makefile.in +@@ -53,7 +53,7 @@ E_DEP="[6/$(E_NUM)] Hide Deprecated: " + E_INT="[7/$(E_NUM)] Hide Internal: " + E_OBS="[8/$(E_NUM)] Hide Obsolete: " + +-check: dtest ctest cpptest doclean drafttest deprtest internaltest obsoletetest ++check: dtest ctest cpptest cpptest_extern_c doclean drafttest deprtest internaltest obsoletetest + ifeq ($(MAKECMDGOALS),check) + $(MAKE) clean + else +@@ -74,6 +74,18 @@ cpptest: + done ;\ + exit $$FAIL + ++cpptest_extern_c: ++ @FAIL=0;for file in `ls $(prefix)/include/unicode/*.h | fgrep -v -f $(srcdir)/pfiles.txt`; do \ ++ incfile=`basename $$file .h` ; \ ++ echo "$@ unicode/$$incfile.h" ; \ ++ echo 'extern "C" {' > ht_$$incfile.cpp ; \ ++ echo '#include "'unicode/$$incfile'.h"' >> ht_$$incfile.cpp ; \ ++ echo '}' >> ht_$$incfile.cpp ; \ ++ echo 'void junk(){}' >> ht_$$incfile.cpp ; \ ++ $(COMPILE.cc) -c $(cppflags) ht_$$incfile.cpp || FAIL=1 ; \ ++ done ;\ ++ exit $$FAIL ++ + # layout is removed + + dtest: +@@ -170,5 +182,5 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + +-.PHONY: doclean check all cpptest dtest ctest clean distclean ++.PHONY: doclean check all cpptest cpptest_extern_c dtest ctest clean distclean + diff --git a/external/icu/icu4c-build.patch.1 b/external/icu/icu4c-build.patch.1 index 6d9ade608cb5..a878de732322 100644 --- a/external/icu/icu4c-build.patch.1 +++ b/external/icu/icu4c-build.patch.1 @@ -8,7 +8,7 @@ diff -ur icu.org/source/config/mh-darwin icu/source/config/mh-darwin -ifeq ($(ENABLE_RPATH),YES) -LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) -else --LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) +-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE) -endif +LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name @__________________________________________________URELIB/$(notdir $(MIDDLE_SO_TARGET)) diff --git a/external/icu/icu4c-khmerbreakengine.patch.1 b/external/icu/icu4c-khmerbreakengine.patch.1 index 65f7cc0d774f..7992da6fc18f 100644 --- a/external/icu/icu4c-khmerbreakengine.patch.1 +++ b/external/icu/icu4c-khmerbreakengine.patch.1 @@ -192,37 +192,16 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp /* ****************************************************************** * PossibleWord -@@ -103,35 +278,35 @@ - public: - PossibleWord() : count(0), prefix(0), offset(-1), mark(0), current(0) {}; - ~PossibleWord() {}; -- -+ +@@ -282,7 +282,7 @@ + ~PossibleWord() {} + // Fill the list of candidates if needed, select the longest, and return the number found - int32_t candidates( UText *text, DictionaryMatcher *dict, int32_t rangeEnd ); -- + int32_t candidates( UText *text, DictionaryMatcher *dict, int32_t rangeEnd, UnicodeSet const *ignoreSet = NULL, int32_t minLength = 0 ); -+ + // Select the currently marked candidate, point after it in the text, and invalidate self int32_t acceptMarked( UText *text ); -- -+ - // Back up from the current candidate to the next shorter one; return TRUE if that exists - // and point the text after it - UBool backUp( UText *text ); -- -+ - // Return the longest prefix this candidate location shares with a dictionary word - // Return value is in code points. - int32_t longestPrefix() { return prefix; }; -- -+ - // Mark the current candidate as the one we like - void markCurrent() { mark = current; }; -- -+ - // Get length in code points of the marked word. - int32_t markedCPLength() { return cpLengths[mark]; }; +@@ -303,12 +303,12 @@ }; @@ -1085,32 +1064,3 @@ diff -ur icu.org/source/common/dictionarydata.h icu/source/common/dictionarydata virtual int32_t getType() const; private: UChar32 transform(UChar32 c) const; -diff -ur icu.org/source/data/Makefile.in icu/source/data/Makefile.in ---- icu.org/source/data/Makefile.in 2018-10-19 14:20:11.031075856 +0200 -+++ icu/source/data/Makefile.in 2018-10-19 14:21:00.339942804 +0200 -@@ -183,7 +183,7 @@ - endif - endif - --packagedata: icupkg.inc $(PKGDATA_LIST) build-local -+packagedata: icupkg.inc $(PKGDATA_LIST) build-local $(MAINBUILDDIR)/khmerdict.stamp - ifneq ($(ENABLE_STATIC),) - ifeq ($(PKGDATA_MODE),dll) - $(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) -m static $(PKGDATA_VERSIONING) $(PKGDATA_LIST) -@@ -567,8 +567,14 @@ - $(INVOKE) $(TOOLBINDIR)/gendict --bytes --transform offset-0x1000 -c -i $(BUILDDIR) $(DICTSRCDIR)/burmesedict.txt $(BRKBLDDIR)/burmesedict.dict - - # TODO: figure out why combining characters are here? --$(BRKBLDDIR)/khmerdict.dict: $(TOOLBINDIR)/gendict$(TOOLEXEEXT) $(DAT_FILES) -- $(INVOKE) $(TOOLBINDIR)/gendict --bytes --transform offset-0x1780 -c -i $(BUILDDIR) $(DICTSRCDIR)/khmerdict.txt $(BRKBLDDIR)/khmerdict.dict -+#$(BRKBLDDIR)/khmerdict.dict: $(TOOLBINDIR)/gendict$(TOOLEXEEXT) $(DAT_FILES) -+# $(INVOKE) $(TOOLBINDIR)/gendict --bytes --transform offset-0x1780 -c -i $(BUILDDIR) $(DICTSRCDIR)/khmerdict.txt $(BRKBLDDIR)/khmerdict.dict -+ -+#$(MAINBUILDDIR)/khmerdict.stamp: $(TOOLBINDIR)/gendict$(TOOLEXEEXT) $(BRKSRCDIR)/khmerdict.txt build-local -+# $(INVOKE) $(TOOLBINDIR)/gendict --bytes --transform offset-0x1780 -c -i $(BUILDDIR) $(DICTSRCDIR)/khmerdict.txt $(BRKBLDDIR)/khmerdict.dict -+$(MAINBUILDDIR)/khmerdict.stamp: $(BRKSRCDIR)/khmerdict.dict build-local -+ cp $< $(BRKBLDDIR) -+ echo "timestamp" > $@ - - #################################################### CFU - # CFU FILES diff --git a/external/icu/icu4c-mkdir.patch.1 b/external/icu/icu4c-mkdir.patch.1 index 7de4cf51174c..112e57cc2910 100644 --- a/external/icu/icu4c-mkdir.patch.1 +++ b/external/icu/icu4c-mkdir.patch.1 @@ -1,10 +1,10 @@ diff -ur icu.org/source/data/Makefile.in icu/source/data/Makefile.in ---- icu.org/source/data/Makefile.in 2018-06-21 11:39:15.000000000 +0200 -+++ icu/source/data/Makefile.in 2018-07-16 13:18:26.928109541 +0200 -@@ -367,6 +367,7 @@ +--- icu.org/source/data/Makefile.in 2019-04-17 21:42:15.000000000 +0200 ++++ icu/source/data/Makefile.in 2019-10-28 12:57:15.033649494 +0100 +@@ -226,6 +226,7 @@ ifeq ($(PKGDATA_MODE),dll) SO_VERSION_DATA = $(OUTTMPDIR)/icudata.res - $(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc | build-dir + $(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc + mkdir -p $(OUTTMPDIR) ifeq ($(MSYS_RC_MODE),1) rc.exe -i$(srcdir)/../common -i$(top_builddir)/common -fo$@ $(CPPFLAGS) $< diff --git a/external/icu/icu4c-rpath.patch.1 b/external/icu/icu4c-rpath.patch.1 index debbab1a6e3d..35a5457780c4 100644 --- a/external/icu/icu4c-rpath.patch.1 +++ b/external/icu/icu4c-rpath.patch.1 @@ -15,9 +15,9 @@ diff -ur icu.org/source/config/mh-linux icu/source/config/mh-linux diff -ur icu.org/source/data/pkgdataMakefile.in icu/source/data/pkgdataMakefile.in --- icu.org/source/data/pkgdataMakefile.in 2016-06-15 20:58:17.000000000 +0200 +++ icu/source/data/pkgdataMakefile.in 2017-04-21 22:38:18.892927822 +0200 -@@ -17,6 +17,9 @@ - OUTPUTFILE=icupkg.inc +@@ -18,6 +18,9 @@ MIDDLE_SO_TARGET= + PKGDATA_TRAILING_SPACE=" " +# escape $ with \ when passing to echo; needed to preserve $ORIGIN +SHLIB.c.shell := $(subst $$,\$$,$(SHLIB.c)) |