diff options
author | Eike Rathke <erack@redhat.com> | 2017-05-29 14:25:57 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2017-05-29 16:42:44 +0200 |
commit | 617aa72fe2c097183cb9dd73dd378d6fb0145208 (patch) | |
tree | 73c7c70b72d3684eec547c3d4cf519bdd42a362c /external | |
parent | 32d43cb00105e463cda42b926b829407f536cf1c (diff) |
Resolves: tdf#108043 Revert "Upgrade to ICU 59.1"
As it would force us to not run on XP *AND* Vista anymore already with
this 5.4 release.
This is a combination of 4 commits.
Revert "Add ICU ticket number for this patch"
This reverts commit e24cd3818821971fe3c52820dafe0f5ccb4b023a.
Revert "Add ICU ticket number for this patch"
This reverts commit 8720877b8b6bc96e330842f7391ae49a21ec2f63.
Revert "Upgrade to ICU 59.1 follow-up: only add icu/source/data/misc/icudata.rc"
This reverts commit 89de6f62ae1e96d2c492cb5cd8f7d313b51e2f98.
Revert "Upgrade to ICU 59.1"
This reverts commit fabad007c60958f2ff87e8f636ff6a798ad1f963.
Change-Id: Idd2bfecf7f3c148ee404322e7287ac236c46b6cf
Reviewed-on: https://gerrit.libreoffice.org/38143
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'external')
28 files changed, 340 insertions, 465 deletions
diff --git a/external/firebird/ExternalProject_firebird.mk b/external/firebird/ExternalProject_firebird.mk index 988a24b5ed74..361fffc86c64 100644 --- a/external/firebird/ExternalProject_firebird.mk +++ b/external/firebird/ExternalProject_firebird.mk @@ -66,7 +66,6 @@ $(call gb_ExternalProject_get_state_target,firebird,build): -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \ -I$(call gb_UnpackedTarball_get_dir,icu)/source/common \ ) \ - $(ICU_UCHAR_TYPE) \ $(if $(SYSTEM_LIBTOMMATH),$(LIBTOMMATH_CFLAGS), \ -L$(call gb_UnpackedTarball_get_dir,libtommath) \ ) \ diff --git a/external/harfbuzz/ExternalProject_harfbuzz.mk b/external/harfbuzz/ExternalProject_harfbuzz.mk index 070c58ea80a7..53490abc2eaa 100644 --- a/external/harfbuzz/ExternalProject_harfbuzz.mk +++ b/external/harfbuzz/ExternalProject_harfbuzz.mk @@ -47,9 +47,7 @@ $(call gb_ExternalProject_get_state_target,harfbuzz,build) : $(gb_COMPILERNOOPTFLAGS) $(gb_DEBUG_CFLAGS) \ $(gb_DEBUG_CXXFLAGS), \ $(gb_COMPILEROPTFLAGS)) \ - $(CXXFLAGS) \ - $(ICU_UCHAR_TYPE) \ - $(if $(filter LINUX,$(OS)),-fvisibility=hidden)' \ + $(CXXFLAGS) $(if $(filter LINUX,$(OS)),-fvisibility=hidden)' \ && (cd $(EXTERNAL_WORKDIR)/src && $(MAKE) lib) \ ) diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk index 1047fdebfeaf..fae37f5dd922 100644 --- a/external/icu/UnpackedTarball_icu.mk +++ b/external/icu/UnpackedTarball_icu.mk @@ -11,29 +11,22 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,icu)) $(eval $(call gb_UnpackedTarball_set_tarball,icu,$(ICU_TARBALL))) -# Data zip contains data/... and needs to end up in icu/source/data/... -# Only data/misc/icudata.rc is needed for a Cygwin/MSVC build. -$(eval $(call gb_UnpackedTarball_set_pre_action,icu,\ - unzip -q -d source -o $(gb_UnpackedTarget_TARFILE_LOCATION)/$(ICU_DATA_TARBALL) data/misc/icudata.rc \ -)) - $(eval $(call gb_UnpackedTarball_add_patches,icu,\ - external/icu/icu4c-build.patch.1 \ - external/icu/icu4c-aix.patch.1 \ - external/icu/icu4c-warnings.patch.1 \ - external/icu/icu4c-macosx.patch.1 \ - external/icu/icu4c-solarisgcc.patch.1 \ - external/icu/icu4c-mkdir.patch.1 \ - external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch.1 \ - external/icu/icu4c-ubsan.patch.1 \ + external/icu/icu4c-build.patch \ + external/icu/icu4c-aix.patch \ + external/icu/icu4c-warnings.patch \ + external/icu/icu4c-macosx.patch \ + external/icu/icu4c-solarisgcc.patch \ + external/icu/icu4c-mkdir.patch \ + external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch \ + external/icu/icu-ubsan.patch.0 \ external/icu/icu4c-icu11100.patch.1 \ - external/icu/icu4c-scriptrun.patch.1 \ - external/icu/icu4c-rtti.patch.1 \ - external/icu/icu4c-clang-cl.patch.1 \ - $(if $(filter-out ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.patch.1) \ - external/icu/icu4c-khmerbreakengine.patch.1 \ - external/icu/icu4c-59-werror-undef.patch.1 \ - external/icu/icu4c-59-werror-shadow.patch.1 \ + external/icu/icu4c-scriptrun.patch \ + external/icu/rtti.patch.0 \ + external/icu/clang-cl.patch.0 \ + $(if $(filter-out ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.diff) \ + external/icu/khmerbreakengine.patch \ + external/icu/icu4c-changeset-39671.patch.1 \ )) $(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict)) diff --git a/external/icu/icu4c-clang-cl.patch.1 b/external/icu/clang-cl.patch.0 index 9e287710a463..4df5d0f56c83 100644 --- a/external/icu/icu4c-clang-cl.patch.1 +++ b/external/icu/clang-cl.patch.0 @@ -1,21 +1,19 @@ -diff -ur icu.org/source/config/mh-cygwin-msvc icu/source/config/mh-cygwin-msvc ---- icu.org/source/config/mh-cygwin-msvc 2017-01-23 01:38:28.000000000 +0100 -+++ icu/source/config/mh-cygwin-msvc 2017-04-21 23:07:28.482892025 +0200 -@@ -55,8 +55,8 @@ +--- source/config/mh-cygwin-msvc ++++ source/config/mh-cygwin-msvc +@@ -51,8 +51,8 @@ LDFLAGS+=-nologo # Commands to compile -COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c --COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c +COMPILE.c= true && $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c +-COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c +COMPILE.cc= true && $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c # Commands to link LINK.c= LINK.EXE -subsystem:console $(LDFLAGS) -diff -ur icu.org/source/runConfigureICU icu/source/runConfigureICU ---- icu.org/source/runConfigureICU 2017-01-23 01:38:28.000000000 +0100 -+++ icu/source/runConfigureICU 2017-04-21 23:07:28.482892025 +0200 -@@ -261,8 +261,8 @@ +--- source/runConfigureICU ++++ source/runConfigureICU +@@ -259,8 +259,8 @@ Cygwin/MSVC) THE_OS="Windows with Cygwin" THE_COMP="Microsoft Visual C++" diff --git a/external/icu/icu4c-ubsan.patch.1 b/external/icu/icu-ubsan.patch.0 index 56594005e9d0..f16503eeb4ac 100644 --- a/external/icu/icu4c-ubsan.patch.1 +++ b/external/icu/icu-ubsan.patch.0 @@ -1,7 +1,6 @@ -diff -ur icu.org/source/common/rbbidata.h icu/source/common/rbbidata.h ---- icu.org/source/common/rbbidata.h 2017-02-03 19:57:23.000000000 +0100 -+++ icu/source/common/rbbidata.h 2017-04-21 22:46:25.371651160 +0200 -@@ -115,7 +115,7 @@ +--- source/common/rbbidata.h ++++ source/common/rbbidata.h +@@ -113,7 +113,7 @@ /* StatusTable of the set of matching */ /* tags (rule status values) */ int16_t fReserved; @@ -10,7 +9,7 @@ diff -ur icu.org/source/common/rbbidata.h icu/source/common/rbbidata.h /* This array does not have two elements */ /* Array Size is actually fData->fHeader->fCatCount */ /* CAUTION: see RBBITableBuilder::getTableSize() */ -@@ -128,7 +128,7 @@ +@@ -126,7 +126,7 @@ uint32_t fRowLen; /* Length of a state table row, in bytes. */ uint32_t fFlags; /* Option Flags for this state table */ uint32_t fReserved; /* reserved */ @@ -19,10 +18,9 @@ diff -ur icu.org/source/common/rbbidata.h icu/source/common/rbbidata.h /* (making it char[] simplifies ugly address */ /* arithmetic for indexing variable length rows.) */ }; -diff -ur icu.org/source/common/rbbitblb.cpp icu/source/common/rbbitblb.cpp ---- icu.org/source/common/rbbitblb.cpp 2017-01-20 01:20:31.000000000 +0100 -+++ icu/source/common/rbbitblb.cpp 2017-04-21 22:46:25.373651159 +0200 -@@ -1095,15 +1095,15 @@ +--- source/common/rbbitblb.cpp ++++ source/common/rbbitblb.cpp +@@ -1067,15 +1067,15 @@ return 0; } @@ -42,7 +40,7 @@ diff -ur icu.org/source/common/rbbitblb.cpp icu/source/common/rbbitblb.cpp size += numRows * rowSize; return size; } -@@ -1133,7 +1133,7 @@ +@@ -1105,7 +1105,7 @@ } table->fRowLen = sizeof(RBBIStateTableRow) + @@ -51,9 +49,8 @@ diff -ur icu.org/source/common/rbbitblb.cpp icu/source/common/rbbitblb.cpp table->fNumStates = fDStates->size(); table->fFlags = 0; if (fRB->fLookAheadHardBreak) { -diff -ur icu.org/source/common/ubidiimp.h icu/source/common/ubidiimp.h ---- icu.org/source/common/ubidiimp.h 2017-02-03 19:57:23.000000000 +0100 -+++ icu/source/common/ubidiimp.h 2017-04-21 22:46:25.374651159 +0200 +--- source/common/ubidiimp.h ++++ source/common/ubidiimp.h @@ -198,8 +198,8 @@ /* in a Run, logicalStart will get this bit set if the run level is odd */ #define INDEX_ODD_BIT (1UL<<31) @@ -65,10 +62,9 @@ diff -ur icu.org/source/common/ubidiimp.h icu/source/common/ubidiimp.h #define REMOVE_ODD_BIT(x) ((x)&=~INDEX_ODD_BIT) #define GET_INDEX(x) ((x)&~INDEX_ODD_BIT) -diff -ur icu.org/source/common/ucharstriebuilder.cpp icu/source/common/ucharstriebuilder.cpp ---- icu.org/source/common/ucharstriebuilder.cpp 2017-02-03 19:57:23.000000000 +0100 -+++ icu/source/common/ucharstriebuilder.cpp 2017-04-21 22:46:25.375651159 +0200 -@@ -287,7 +287,7 @@ +--- source/common/ucharstriebuilder.cpp ++++ source/common/ucharstriebuilder.cpp +@@ -285,7 +285,7 @@ UCharsTrieBuilder::UCTLinearMatchNode::UCTLinearMatchNode(const UChar *units, int32_t len, Node *nextNode) : LinearMatchNode(len, nextNode), s(units) { @@ -77,10 +73,9 @@ diff -ur icu.org/source/common/ucharstriebuilder.cpp icu/source/common/ucharstri } UBool -diff -ur icu.org/source/common/ucmndata.cpp icu/source/common/ucmndata.cpp ---- icu.org/source/common/ucmndata.cpp 2017-03-08 16:34:47.000000000 +0100 -+++ icu/source/common/ucmndata.cpp 2017-04-21 22:46:25.376651159 +0200 -@@ -77,7 +77,7 @@ +--- source/common/ucmndata.c ++++ source/common/ucmndata.c +@@ -75,7 +75,7 @@ typedef struct { uint32_t count; uint32_t reserved; @@ -89,10 +84,9 @@ diff -ur icu.org/source/common/ucmndata.cpp icu/source/common/ucmndata.cpp } PointerTOC; -diff -ur icu.org/source/common/ucmndata.h icu/source/common/ucmndata.h ---- icu.org/source/common/ucmndata.h 2017-01-20 01:20:31.000000000 +0100 -+++ icu/source/common/ucmndata.h 2017-04-21 22:46:25.377651159 +0200 -@@ -52,7 +52,7 @@ +--- source/common/ucmndata.h ++++ source/common/ucmndata.h +@@ -50,7 +50,7 @@ typedef struct { uint32_t count; @@ -101,10 +95,9 @@ diff -ur icu.org/source/common/ucmndata.h icu/source/common/ucmndata.h } UDataOffsetTOC; /** -diff -ur icu.org/source/common/unicode/stringtriebuilder.h icu/source/common/unicode/stringtriebuilder.h ---- icu.org/source/common/unicode/stringtriebuilder.h 2017-03-10 23:01:34.000000000 +0100 -+++ icu/source/common/unicode/stringtriebuilder.h 2017-04-21 22:47:43.395634383 +0200 -@@ -276,7 +276,7 @@ +--- source/common/unicode/stringtriebuilder.h ++++ source/common/unicode/stringtriebuilder.h +@@ -269,7 +269,7 @@ void setValue(int32_t v) { hasValue=TRUE; value=v; @@ -113,7 +106,7 @@ diff -ur icu.org/source/common/unicode/stringtriebuilder.h icu/source/common/uni } protected: UBool hasValue; -@@ -307,7 +307,7 @@ +@@ -296,7 +296,7 @@ class LinearMatchNode : public ValueNode { public: LinearMatchNode(int32_t len, Node *nextNode) @@ -122,7 +115,7 @@ diff -ur icu.org/source/common/unicode/stringtriebuilder.h icu/source/common/uni length(len), next(nextNode) {} virtual UBool operator==(const Node &other) const; virtual int32_t markRightEdgesFirst(int32_t edgeNumber); -@@ -342,7 +342,7 @@ +@@ -330,7 +330,7 @@ equal[length]=NULL; values[length]=value; ++length; @@ -131,7 +124,7 @@ diff -ur icu.org/source/common/unicode/stringtriebuilder.h icu/source/common/uni } // Adds a unit which leads to another match node. void add(int32_t c, Node *node) { -@@ -350,7 +350,7 @@ +@@ -338,7 +338,7 @@ equal[length]=node; values[length]=0; ++length; @@ -140,16 +133,16 @@ diff -ur icu.org/source/common/unicode/stringtriebuilder.h icu/source/common/uni } protected: Node *equal[kMaxBranchLinearSubNodeLength]; // NULL means "has final value". -@@ -365,7 +365,7 @@ +@@ -353,7 +353,7 @@ class SplitBranchNode : public BranchNode { public: - SplitBranchNode(char16_t middleUnit, Node *lessThanNode, Node *greaterOrEqualNode) + SplitBranchNode(UChar middleUnit, Node *lessThanNode, Node *greaterOrEqualNode) - : BranchNode(((0x555555*37+middleUnit)*37+ + : BranchNode(((0x555555U*37+middleUnit)*37+ hashCode(lessThanNode))*37+hashCode(greaterOrEqualNode)), unit(middleUnit), lessThan(lessThanNode), greaterOrEqual(greaterOrEqualNode) {} virtual UBool operator==(const Node &other) const; -@@ -382,7 +382,7 @@ +@@ -370,7 +370,7 @@ class BranchHeadNode : public ValueNode { public: BranchHeadNode(int32_t len, Node *subNode) @@ -158,9 +151,8 @@ diff -ur icu.org/source/common/unicode/stringtriebuilder.h icu/source/common/uni length(len), next(subNode) {} virtual UBool operator==(const Node &other) const; virtual int32_t markRightEdgesFirst(int32_t edgeNumber); -diff -ur icu.org/source/i18n/collationdatareader.cpp icu/source/i18n/collationdatareader.cpp ---- icu.org/source/i18n/collationdatareader.cpp 2017-01-20 01:20:31.000000000 +0100 -+++ icu/source/i18n/collationdatareader.cpp 2017-04-21 22:46:25.380651158 +0200 +--- source/i18n/collationdatareader.cpp ++++ source/i18n/collationdatareader.cpp @@ -419,6 +419,7 @@ tailoring.data, ts, fastLatinPrimaries, UPRV_LENGTHOF(fastLatinPrimaries)); if(options == ts.options && ts.variableTop != 0 && diff --git a/external/icu/icu4c-59-werror-shadow.patch.1 b/external/icu/icu4c-59-werror-shadow.patch.1 deleted file mode 100644 index 2031f80cb908..000000000000 --- a/external/icu/icu4c-59-werror-shadow.patch.1 +++ /dev/null @@ -1,75 +0,0 @@ -diff -ur icu.org/source/common/unicode/char16ptr.h icu/source/common/unicode/char16ptr.h -# https://ssl.icu-project.org/trac/ticket/13176 ---- icu.org/source/common/unicode/char16ptr.h 2017-03-29 06:44:37.000000000 +0200 -+++ icu/source/common/unicode/char16ptr.h 2017-04-24 11:56:47.707572355 +0200 -@@ -107,14 +107,14 @@ - - #ifdef U_ALIASING_BARRIER - --Char16Ptr::Char16Ptr(char16_t *p) : p(p) {} -+Char16Ptr::Char16Ptr(char16_t *p_) : p(p_) {} - #if !U_CHAR16_IS_TYPEDEF --Char16Ptr::Char16Ptr(uint16_t *p) : p(cast(p)) {} -+Char16Ptr::Char16Ptr(uint16_t *p_) : p(cast(p_)) {} - #endif - #if U_SIZEOF_WCHAR_T==2 --Char16Ptr::Char16Ptr(wchar_t *p) : p(cast(p)) {} -+Char16Ptr::Char16Ptr(wchar_t *p_) : p(cast(p_)) {} - #endif --Char16Ptr::Char16Ptr(std::nullptr_t p) : p(p) {} -+Char16Ptr::Char16Ptr(std::nullptr_t p_) : p(p_) {} - Char16Ptr::~Char16Ptr() { - U_ALIASING_BARRIER(p); - } -@@ -215,14 +215,14 @@ - - #ifdef U_ALIASING_BARRIER - --ConstChar16Ptr::ConstChar16Ptr(const char16_t *p) : p(p) {} -+ConstChar16Ptr::ConstChar16Ptr(const char16_t *p_) : p(p_) {} - #if !U_CHAR16_IS_TYPEDEF --ConstChar16Ptr::ConstChar16Ptr(const uint16_t *p) : p(cast(p)) {} -+ConstChar16Ptr::ConstChar16Ptr(const uint16_t *p_) : p(cast(p_)) {} - #endif - #if U_SIZEOF_WCHAR_T==2 --ConstChar16Ptr::ConstChar16Ptr(const wchar_t *p) : p(cast(p)) {} -+ConstChar16Ptr::ConstChar16Ptr(const wchar_t *p_) : p(cast(p_)) {} - #endif --ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t p) : p(p) {} -+ConstChar16Ptr::ConstChar16Ptr(const std::nullptr_t p_) : p(p_) {} - ConstChar16Ptr::~ConstChar16Ptr() { - U_ALIASING_BARRIER(p); - } -diff -ur icu.org/source/common/unicode/unistr.h icu/source/common/unicode/unistr.h ---- icu.org/source/common/unicode/unistr.h 2017-03-29 06:44:37.000000000 +0200 -+++ icu/source/common/unicode/unistr.h 2017-04-24 11:59:51.782076511 +0200 -@@ -3080,11 +3080,11 @@ - * uint16_t * constructor. - * Delegates to UnicodeString(const char16_t *, int32_t). - * @param text UTF-16 string -- * @param length string length -+ * @param length_ string length - * @draft ICU 59 - */ -- UnicodeString(const uint16_t *text, int32_t length) : -- UnicodeString(ConstChar16Ptr(text), length) {} -+ UnicodeString(const uint16_t *text, int32_t length_) : -+ UnicodeString(ConstChar16Ptr(text), length_) {} - #endif - - /* -@@ -3097,11 +3097,11 @@ - * (Only defined if U_SIZEOF_WCHAR_T==2.) - * Delegates to UnicodeString(const char16_t *, int32_t). - * @param text NUL-terminated UTF-16 string -- * @param length string length -+ * @param length_ string length - * @draft ICU 59 - */ -- UnicodeString(const wchar_t *text, int32_t length) : -- UnicodeString(ConstChar16Ptr(text), length) {} -+ UnicodeString(const wchar_t *text, int32_t length_) : -+ UnicodeString(ConstChar16Ptr(text), length_) {} - #endif - - /* diff --git a/external/icu/icu4c-59-werror-undef.patch.1 b/external/icu/icu4c-59-werror-undef.patch.1 deleted file mode 100644 index 0792e7357257..000000000000 --- a/external/icu/icu4c-59-werror-undef.patch.1 +++ /dev/null @@ -1,13 +0,0 @@ -diff -ur icu.org/source/common/unicode/uvernum.h icu/source/common/unicode/uvernum.h -# https://ssl.icu-project.org/trac/ticket/13175 ---- icu.org/source/common/unicode/uvernum.h 2017-03-21 02:03:49.000000000 +0100 -+++ icu/source/common/unicode/uvernum.h 2017-04-21 23:44:55.123597927 +0200 -@@ -125,7 +125,7 @@ - * This value will change in the subsequent releases of ICU - * @stable ICU 2.6 - */ --#if U_PLATFORM_HAS_WINUWP_API == 0 -+#if !defined(U_PLATFORM_HAS_WINUWP_API) || (U_PLATFORM_HAS_WINUWP_API == 0) - #define U_ICU_VERSION_SHORT "59" - #else - // U_DISABLE_RENAMING does not impact dat file name diff --git a/external/icu/icu4c-aix.patch.1 b/external/icu/icu4c-aix.patch index 77982163b965..f4a449f9b423 100644 --- a/external/icu/icu4c-aix.patch.1 +++ b/external/icu/icu4c-aix.patch @@ -1,7 +1,6 @@ -diff -ur icu.org/source/config/mh-aix-gcc icu/source/config/mh-aix-gcc ---- icu.org/source/config/mh-aix-gcc 2016-06-15 20:58:17.000000000 +0200 -+++ icu/source/config/mh-aix-gcc 2017-04-21 21:58:49.731432198 +0200 -@@ -18,84 +18,29 @@ +--- misc/icu/source/config/mh-aix-gcc 2010-06-24 20:58:16.000000000 -0500 ++++ misc/build/icu/source/config/mh-aix-gcc 2013-10-31 20:34:16.607982310 +0700 +@@ -13,84 +13,29 @@ GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) @@ -98,7 +97,7 @@ diff -ur icu.org/source/config/mh-aix-gcc icu/source/config/mh-aix-gcc ## Compilation rules %.$(STATIC_O): $(srcdir)/%.c -@@ -123,10 +68,10 @@ +@@ -118,10 +63,10 @@ [ -s $@ ] || rm -f $@' ## Versioned libraries rules @@ -113,10 +112,9 @@ diff -ur icu.org/source/config/mh-aix-gcc icu/source/config/mh-aix-gcc ## BIR - bind with internal references [so app data and icu data doesn't collide] -diff -ur icu.org/source/tools/pkgdata/pkgdata.cpp icu/source/tools/pkgdata/pkgdata.cpp ---- icu.org/source/tools/pkgdata/pkgdata.cpp 2017-03-21 02:03:49.000000000 +0100 -+++ icu/source/tools/pkgdata/pkgdata.cpp 2017-04-21 21:58:49.732432195 +0200 -@@ -934,7 +934,7 @@ +--- misc/icu/source/tools/pkgdata/pkgdata.cpp 2013-04-06 20:56:00.935656635 +0100 ++++ misc/build/icu/source/tools/pkgdata/pkgdata.cpp 2013-10-31 20:38:10.623984554 +0700 +@@ -902,7 +902,7 @@ uprv_strcat(pkgDataFlags[SO_EXT], "."); uprv_strcat(pkgDataFlags[SO_EXT], pkgDataFlags[A_EXT]); @@ -125,7 +123,7 @@ diff -ur icu.org/source/tools/pkgdata/pkgdata.cpp icu/source/tools/pkgdata/pkgda sprintf(libFileNames[LIB_FILE_VERSION_TMP], "%s%s%s", libFileNames[LIB_FILE], FILE_EXTENSION_SEP, -@@ -1407,15 +1407,6 @@ +@@ -1375,15 +1375,6 @@ pkgDataFlags[LDICUDTFLAGS], targetDir, libFileNames[LIB_FILE_CYGWIN_VERSION], diff --git a/external/icu/icu4c-android.patch.1 b/external/icu/icu4c-android.patch index c62cf54e5936..0b320a8cad81 100644 --- a/external/icu/icu4c-android.patch.1 +++ b/external/icu/icu4c-android.patch @@ -1,19 +1,6 @@ -diff -ur icu.org/source/common/unicode/platform.h icu/source/common/unicode/platform.h ---- icu.org/source/common/unicode/platform.h 2017-03-22 20:06:26.000000000 +0100 -+++ icu/source/common/unicode/platform.h 2017-04-21 22:32:31.656693147 +0200 -@@ -818,7 +818,7 @@ - #elif defined(U_STATIC_IMPLEMENTATION) - # define U_EXPORT - #elif defined(__GNUC__) --# define U_EXPORT __attribute__((visibility("default"))) -+# define U_EXPORT - #elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) \ - || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x550) - # define U_EXPORT __global -diff -ur icu.org/source/config/mh-linux icu/source/config/mh-linux ---- icu.org/source/config/mh-linux 2016-06-15 20:58:17.000000000 +0200 -+++ icu/source/config/mh-linux 2017-04-21 22:32:31.653693154 +0200 -@@ -27,7 +27,7 @@ +--- misc/icu/source/config/mh-linux 2013-10-05 03:50:00.000000000 +0700 ++++ misc/build/icu/source/config/mh-linux 2013-11-10 17:11:46.856222557 +0700 +@@ -25,7 +25,7 @@ ## Compiler switch to embed a library name # The initial tab in the next line is to prevent icu-config from reading it. @@ -22,10 +9,9 @@ diff -ur icu.org/source/config/mh-linux icu/source/config/mh-linux #SH# # We can't depend on MIDDLE_SO_TARGET being set. #SH# LD_SONAME= -diff -ur icu.org/source/configure icu/source/configure ---- icu.org/source/configure 2017-04-07 09:40:30.000000000 +0200 -+++ icu/source/configure 2017-04-21 22:32:31.656693147 +0200 -@@ -5134,7 +5134,7 @@ +--- misc/icu/source/configure 2013-10-05 03:54:58.000000000 +0700 ++++ misc/build/icu/source/configure 2013-11-10 17:19:19.200218763 +0700 +@@ -4872,7 +4872,7 @@ else icu_cv_host_frag=mh-linux-va fi ;; @@ -34,7 +20,7 @@ diff -ur icu.org/source/configure icu/source/configure i[34567]86-*-cygwin) if test "$GCC" = yes; then icu_cv_host_frag=mh-cygwin -@@ -6358,6 +6358,10 @@ +@@ -6032,6 +6032,10 @@ # Check to see if genccode can generate simple assembly. GENCCODE_ASSEMBLY= case "${host}" in @@ -45,7 +31,7 @@ diff -ur icu.org/source/configure icu/source/configure *-linux*|*-kfreebsd*-gnu*|i*86-*-*bsd*|i*86-pc-gnu) if test "$GCC" = yes; then # We're using gcc, and the simple -a gcc command line works for genccode -@@ -7445,6 +7449,10 @@ +@@ -7104,6 +7108,10 @@ # wchar_t can be used CHECK_UTF16_STRING_RESULT="available" ;; @@ -56,3 +42,16 @@ diff -ur icu.org/source/configure icu/source/configure *) ;; esac + +--- misc/icu/source/common/unicode/platform.h 2013-10-05 03:49:10.000000000 +0700 ++++ misc/build/icu/source/common/unicode/platform.h 2013-11-10 17:22:27.160217186 +0700 +@@ -703,7 +703,7 @@ + #elif defined(U_STATIC_IMPLEMENTATION) + # define U_EXPORT + #elif defined(__GNUC__) +-# define U_EXPORT __attribute__((visibility("default"))) ++# define U_EXPORT + #elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) \ + || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x550) + # define U_EXPORT __global + diff --git a/external/icu/icu4c-build.patch.1 b/external/icu/icu4c-build.patch index 6d9ade608cb5..103e9aea5b64 100644 --- a/external/icu/icu4c-build.patch.1 +++ b/external/icu/icu4c-build.patch @@ -1,7 +1,48 @@ -diff -ur icu.org/source/config/mh-darwin icu/source/config/mh-darwin ---- icu.org/source/config/mh-darwin 2016-06-15 20:58:17.000000000 +0200 -+++ icu/source/config/mh-darwin 2017-04-21 21:30:23.584568210 +0200 -@@ -30,11 +30,7 @@ +--- misc/icu/source/tools/toolutil/pkg_genc.h ++++ misc/build/icu/source/tools/toolutil/pkg_genc.h +@@ -58,7 +58,7 @@ + #endif + + #define LARGE_BUFFER_MAX_SIZE 2048 +-#define SMALL_BUFFER_MAX_SIZE 512 ++#define SMALL_BUFFER_MAX_SIZE 2048 + #define SMALL_BUFFER_FLAG_NAMES 32 + #define BUFFER_PADDING_SIZE 20 + +--- misc/icu/source/tools/toolutil/pkg_genc.c ++++ misc/build/icu/source/tools/toolutil/pkg_genc.c +@@ -152,6 +152,28 @@ + + ".long ","",HEX_0X + }, ++ {"gcc-android-arm", ++ "\t.arch armv5te\n" ++ "\t.fpu softvfp\n" ++ "\t.eabi_attribute 20, 1\n" ++ "\t.eabi_attribute 21, 1\n" ++ "\t.eabi_attribute 23, 3\n" ++ "\t.eabi_attribute 24, 1\n" ++ "\t.eabi_attribute 25, 1\n" ++ "\t.eabi_attribute 26, 2\n" ++ "\t.eabi_attribute 30, 6\n" ++ "\t.eabi_attribute 18, 4\n" ++ "\t.file \"%s.s\"\n" ++ "\t.global %s\n" ++ "\t.section .rodata\n" ++ "\t.align 2\n" ++ "\t.type %s, %%object\n" ++ "%s:\n", ++ ++ "\t.word ", ++ "\t.section .note.GNU-stack,\"\",%%progbits\n", ++ HEX_0X ++ }, + /* 16 bytes alignment. */ + /* http://docs.oracle.com/cd/E19641-01/802-1947/802-1947.pdf */ + {"sun", +--- misc/icu/source/config/mh-darwin 2010-09-29 20:37:36.000000000 +0200 ++++ misc/build/icu/source/config/mh-darwin 2011-03-15 10:56:26.653056004 +0100 +@@ -28,11 +28,7 @@ SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS) $(LD_SOOPTIONS) ## Compiler switches to embed a library name and version information @@ -14,7 +55,7 @@ diff -ur icu.org/source/config/mh-darwin icu/source/config/mh-darwin ## Compiler switch to embed a runtime search path LD_RPATH= -@@ -50,10 +46,6 @@ +@@ -48,10 +44,6 @@ ## Non-shared intermediate object suffix STATIC_O = ao @@ -25,7 +66,7 @@ diff -ur icu.org/source/config/mh-darwin icu/source/config/mh-darwin ## Compilation and dependency rules %.$(STATIC_O): $(srcdir)/%.c $(call SILENT_COMPILE,$(strip $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS)) -MMD -MT "$*.d $*.o $*.$(STATIC_O)" -o $@ $<) -@@ -67,16 +59,10 @@ +@@ -65,16 +57,10 @@ ## Versioned libraries rules @@ -45,47 +86,3 @@ diff -ur icu.org/source/config/mh-darwin icu/source/config/mh-darwin ## Remove shared library 's' STATIC_PREFIX_WHEN_USED = -diff -ur icu.org/source/tools/toolutil/pkg_genc.cpp icu/source/tools/toolutil/pkg_genc.cpp ---- icu.org/source/tools/toolutil/pkg_genc.cpp 2017-04-13 11:46:02.000000000 +0200 -+++ icu/source/tools/toolutil/pkg_genc.cpp 2017-04-21 21:30:23.583568212 +0200 -@@ -160,6 +160,28 @@ - - ".long ","",HEX_0X - }, -+ {"gcc-android-arm", -+ "\t.arch armv5te\n" -+ "\t.fpu softvfp\n" -+ "\t.eabi_attribute 20, 1\n" -+ "\t.eabi_attribute 21, 1\n" -+ "\t.eabi_attribute 23, 3\n" -+ "\t.eabi_attribute 24, 1\n" -+ "\t.eabi_attribute 25, 1\n" -+ "\t.eabi_attribute 26, 2\n" -+ "\t.eabi_attribute 30, 6\n" -+ "\t.eabi_attribute 18, 4\n" -+ "\t.file \"%s.s\"\n" -+ "\t.global %s\n" -+ "\t.section .rodata\n" -+ "\t.align 2\n" -+ "\t.type %s, %%object\n" -+ "%s:\n", -+ -+ "\t.word ", -+ "\t.section .note.GNU-stack,\"\",%%progbits\n", -+ HEX_0X -+ }, - /* 16 bytes alignment. */ - /* http://docs.oracle.com/cd/E19641-01/802-1947/802-1947.pdf */ - {"sun", -diff -ur icu.org/source/tools/toolutil/pkg_genc.h icu/source/tools/toolutil/pkg_genc.h ---- icu.org/source/tools/toolutil/pkg_genc.h 2017-01-20 01:20:31.000000000 +0100 -+++ icu/source/tools/toolutil/pkg_genc.h 2017-04-21 21:30:23.582568215 +0200 -@@ -60,7 +60,7 @@ - #endif - - #define LARGE_BUFFER_MAX_SIZE 2048 --#define SMALL_BUFFER_MAX_SIZE 512 -+#define SMALL_BUFFER_MAX_SIZE 2048 - #define SMALL_BUFFER_FLAG_NAMES 32 - #define BUFFER_PADDING_SIZE 20 - diff --git a/external/icu/icu4c-icu11100.patch.1 b/external/icu/icu4c-icu11100.patch.1 index 2f0e390961c1..18bfe4f1c9c2 100644 --- a/external/icu/icu4c-icu11100.patch.1 +++ b/external/icu/icu4c-icu11100.patch.1 @@ -1,7 +1,6 @@ -diff -ur icu.org/source/common/ubidi.cpp icu/source/common/ubidi.cpp ---- icu.org/source/common/ubidi.cpp 2017-03-07 23:57:46.000000000 +0100 -+++ icu/source/common/ubidi.cpp 2017-04-21 22:55:11.352659142 +0200 -@@ -2125,6 +2125,14 @@ +--- icu/source/common/ubidi.c.orig 2014-08-09 20:54:39.338833533 +0100 ++++ icu/source/common/ubidi.c 2014-08-09 20:55:48.625469055 +0100 +@@ -2096,6 +2096,14 @@ return DirProp_ON; } @@ -16,7 +15,7 @@ diff -ur icu.org/source/common/ubidi.cpp icu/source/common/ubidi.cpp static void resolveImplicitLevels(UBiDi *pBiDi, int32_t start, int32_t limit, -@@ -2271,7 +2279,7 @@ +@@ -2239,7 +2247,7 @@ /* look for the last char not a BN or LRE/RLE/LRO/RLO/PDF */ for(i=limit-1; i>start&&(DIRPROP_FLAG(dirProps[i])&MASK_BN_EXPLICIT); i--); dirProp=dirProps[i]; diff --git a/external/icu/icu4c-icudata-stdlibs.patch.1 b/external/icu/icu4c-icudata-stdlibs.diff index c8d66c6ed06f..16bea7b4a995 100644 --- a/external/icu/icu4c-icudata-stdlibs.patch.1 +++ b/external/icu/icu4c-icudata-stdlibs.diff @@ -1,7 +1,8 @@ -diff -ur icu.org/source/config/mh-linux icu/source/config/mh-linux ---- icu.org/source/config/mh-linux 2017-04-21 23:09:57.588533707 +0200 -+++ icu/source/config/mh-linux 2017-04-21 23:11:38.075292226 +0200 -@@ -27,7 +27,9 @@ +Index: icu-52~m1/source/config/mh-linux +=================================================================== +--- build/icu-52~m1.orig/source/config/mh-linux 2013-09-14 18:53:23.284040467 -0400 ++++ build/icu-52~m1/source/config/mh-linux 2013-09-14 18:53:23.284040467 -0400 +@@ -21,7 +21,9 @@ RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN' ## These are the library specific LDFLAGS diff --git a/external/icu/icu4c-macosx.patch.1 b/external/icu/icu4c-macosx.patch index fee08eb05771..8f9f9a75507e 100644 --- a/external/icu/icu4c-macosx.patch.1 +++ b/external/icu/icu4c-macosx.patch @@ -1,7 +1,6 @@ -diff -ur icu.org/source/common/putil.cpp icu/source/common/putil.cpp ---- icu.org/source/common/putil.cpp 2017-04-10 16:22:16.000000000 +0200 -+++ icu/source/common/putil.cpp 2017-04-21 22:14:09.940217733 +0200 -@@ -1198,8 +1198,16 @@ +--- misc/icu/source/common/putil.cpp ++++ misc/build/icu/source/common/putil.cpp +@@ -1111,8 +1111,16 @@ static const time_t decemberSolstice=1198332540; /*2007-12-22 06:09 UT*/ /* This probing will tell us when daylight savings occurs. */ @@ -18,3 +17,4 @@ diff -ur icu.org/source/common/putil.cpp icu/source/common/putil.cpp if(decemberSol.tm_isdst > 0) { daylightType = U_DAYLIGHT_DECEMBER; } else if(juneSol.tm_isdst > 0) { + diff --git a/external/icu/icu4c-mkdir.patch.1 b/external/icu/icu4c-mkdir.patch index 3234f151b677..094ddd5abca4 100644 --- a/external/icu/icu4c-mkdir.patch.1 +++ b/external/icu/icu4c-mkdir.patch @@ -1,7 +1,6 @@ -diff -ur icu.org/source/data/Makefile.in icu/source/data/Makefile.in ---- icu.org/source/data/Makefile.in 2016-06-15 20:58:17.000000000 +0200 -+++ icu/source/data/Makefile.in 2017-04-21 22:29:00.747158002 +0200 -@@ -367,6 +367,7 @@ +--- misc/icu/source/dataMakefile.in.sav 2012-04-05 22:49:20.000000000 +0200 ++++ build/icu/source/data/Makefile.in 2012-12-04 14:24:40.548026700 +0100 +@@ -363,6 +363,7 @@ ifeq ($(PKGDATA_MODE),dll) SO_VERSION_DATA = $(OUTTMPDIR)/icudata.res $(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc diff --git a/external/icu/icu4c-rpath.patch.1 b/external/icu/icu4c-rpath.patch index debbab1a6e3d..ba1a82595aea 100644 --- a/external/icu/icu4c-rpath.patch.1 +++ b/external/icu/icu4c-rpath.patch @@ -1,21 +1,6 @@ -diff -ur icu.org/source/config/mh-linux icu/source/config/mh-linux ---- icu.org/source/config/mh-linux 2016-06-15 20:58:17.000000000 +0200 -+++ icu/source/config/mh-linux 2017-04-21 22:38:18.893927819 +0200 -@@ -22,6 +22,10 @@ - LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN - LD_RPATH_PRE = -Wl,-rpath, - -+## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH: -+ENABLE_RPATH=YES -+RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN' -+ - ## These are the library specific LDFLAGS - LDFLAGSICUDT=-nodefaultlibs -nostdlib - -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 @@ +--- misc/icu/source/data/pkgdataMakefile.in 2010-12-22 23:44:02.000000000 +0100 ++++ misc/build/icu/source/data/pkgdataMakefile.in 2011-01-03 17:52:44.000000000 +0100 +@@ -15,6 +15,9 @@ include $(top_builddir)/icudefs.mk OUTPUTFILE=icupkg.inc MIDDLE_SO_TARGET= @@ -25,7 +10,7 @@ diff -ur icu.org/source/data/pkgdataMakefile.in icu/source/data/pkgdataMakefile. all : clean @echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE) @echo SO=$(SO) >> $(OUTPUTFILE) -@@ -26,7 +29,7 @@ +@@ -24,7 +27,7 @@ all : clean @echo LIB_EXT_ORDER=$(FINAL_SO_TARGET) >> $(OUTPUTFILE) @echo COMPILE="$(COMPILE.c)" >> $(OUTPUTFILE) @echo LIBFLAGS="-I$(top_srcdir)/common -I$(top_builddir)/common $(SHAREDLIBCPPFLAGS) $(SHAREDLIBCFLAGS)" >> $(OUTPUTFILE) @@ -34,3 +19,17 @@ diff -ur icu.org/source/data/pkgdataMakefile.in icu/source/data/pkgdataMakefile. @echo LDICUDTFLAGS=$(LDFLAGSICUDT) >> $(OUTPUTFILE) @echo LD_SONAME=$(LD_SONAME) >> $(OUTPUTFILE) @echo RPATH_FLAGS=$(RPATH_FLAGS) >> $(OUTPUTFILE) +--- misc/icu/source/config/mh-linux 2010-09-29 20:37:36.000000000 +0200 ++++ misc/build/icu/source/config/mh-linux 2011-03-15 10:56:26.653056004 +0100 +@@ -20,6 +20,10 @@ + LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN + LD_RPATH_PRE = -Wl,-rpath, + ++## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH: ++ENABLE_RPATH=YES ++RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN' ++ + ## These are the library specific LDFLAGS + LDFLAGSICUDT=-nodefaultlibs -nostdlib + + diff --git a/external/icu/icu4c-rtti.patch.1 b/external/icu/icu4c-rtti.patch.1 deleted file mode 100644 index c058c7f3c87e..000000000000 --- a/external/icu/icu4c-rtti.patch.1 +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur icu.org/source/config/mh-linux icu/source/config/mh-linux ---- icu.org/source/config/mh-linux 2017-04-21 23:01:23.257769703 +0200 -+++ icu/source/config/mh-linux 2017-04-21 23:03:23.166481552 +0200 -@@ -36,7 +36,7 @@ - #SH# LD_SONAME= - - ## Shared library options --LD_SOOPTIONS= -Wl,-Bsymbolic -+LD_SOOPTIONS= -Wl,-Bsymbolic-functions - - ## Shared object suffix - SO = so diff --git a/external/icu/icu4c-scriptrun.patch.1 b/external/icu/icu4c-scriptrun.patch index fe81d19c846e..e307811acaad 100644 --- a/external/icu/icu4c-scriptrun.patch.1 +++ b/external/icu/icu4c-scriptrun.patch @@ -1,7 +1,6 @@ -diff -ur icu.org/source/extra/scrptrun/scrptrun.cpp icu/source/extra/scrptrun/scrptrun.cpp ---- icu.org/source/extra/scrptrun/scrptrun.cpp 2017-01-20 01:20:31.000000000 +0100 -+++ icu/source/extra/scrptrun/scrptrun.cpp 2017-04-21 22:59:31.708037770 +0200 -@@ -151,7 +151,11 @@ +--- misc/icu/source/extra/scrptrun/scrptrun.cpp ++++ misc/build/icu/source/extra/scrptrun/scrptrun.cpp +@@ -150,7 +150,11 @@ // characters above it on the stack will be poped. if (pairIndex >= 0) { if ((pairIndex & 1) == 0) { @@ -14,7 +13,7 @@ diff -ur icu.org/source/extra/scrptrun/scrptrun.cpp icu/source/extra/scrptrun/sc parenStack[parenSP].scriptCode = scriptCode; } else if (parenSP >= 0) { int32_t pi = pairIndex & ~1; -@@ -185,7 +189,14 @@ +@@ -184,7 +188,14 @@ // pop it from the stack if (pairIndex >= 0 && (pairIndex & 1) != 0 && parenSP >= 0) { parenSP -= 1; @@ -30,10 +29,9 @@ diff -ur icu.org/source/extra/scrptrun/scrptrun.cpp icu/source/extra/scrptrun/sc } } else { // if the run broke on a surrogate pair, -diff -ur icu.org/source/extra/scrptrun/scrptrun.h icu/source/extra/scrptrun/scrptrun.h ---- icu.org/source/extra/scrptrun/scrptrun.h 2017-01-20 01:20:31.000000000 +0100 -+++ icu/source/extra/scrptrun/scrptrun.h 2017-04-21 22:59:31.708037770 +0200 -@@ -19,6 +19,7 @@ +--- misc/icu/source/extra/scrptrun/scrptrun.h ++++ misc/build/icu/source/extra/scrptrun/scrptrun.h +@@ -17,6 +17,7 @@ #include "unicode/utypes.h" #include "unicode/uobject.h" #include "unicode/uscript.h" @@ -41,7 +39,7 @@ diff -ur icu.org/source/extra/scrptrun/scrptrun.h icu/source/extra/scrptrun/scrp struct ScriptRecord { -@@ -81,7 +82,7 @@ +@@ -79,7 +80,7 @@ int32_t scriptEnd; UScriptCode scriptCode; @@ -50,7 +48,7 @@ diff -ur icu.org/source/extra/scrptrun/scrptrun.h icu/source/extra/scrptrun/scrp int32_t parenSP; static int8_t highBit(int32_t value); -@@ -135,6 +136,7 @@ +@@ -133,6 +134,7 @@ scriptEnd = charStart; scriptCode = USCRIPT_INVALID_CODE; parenSP = -1; diff --git a/external/icu/icu4c-solarisgcc.patch b/external/icu/icu4c-solarisgcc.patch new file mode 100644 index 000000000000..a47d9b1e3506 --- /dev/null +++ b/external/icu/icu4c-solarisgcc.patch @@ -0,0 +1,12 @@ +--- build/icu.old/source/common/uposixdefs.h ++++ build/icu/source/common/uposixdefs.h +@@ -52,7 +52,7 @@ + * + * z/OS needs this definition for timeval and to get usleep. + */ +-#if !defined(_XOPEN_SOURCE_EXTENDED) ++#if !defined(_XOPEN_SOURCE_EXTENDED) && (defined(__IBMC__) || defined(__IBMCPP__)) + # define _XOPEN_SOURCE_EXTENDED 1 + #endif + + diff --git a/external/icu/icu4c-solarisgcc.patch.1 b/external/icu/icu4c-solarisgcc.patch.1 deleted file mode 100644 index 6000ed0cb9e2..000000000000 --- a/external/icu/icu4c-solarisgcc.patch.1 +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur icu.org/source/common/uposixdefs.h icu/source/common/uposixdefs.h ---- icu.org/source/common/uposixdefs.h 2017-03-09 03:12:45.000000000 +0100 -+++ icu/source/common/uposixdefs.h 2017-04-21 22:23:11.857926971 +0200 -@@ -54,7 +54,7 @@ - * - * z/OS needs this definition for timeval and to get usleep. - */ --#if !defined(_XOPEN_SOURCE_EXTENDED) && defined(__TOS_MVS__) -+#if !defined(_XOPEN_SOURCE_EXTENDED) && (defined(__TOS_MVS__) || defined(__IBMC__) || defined(__IBMCPP__)) - # define _XOPEN_SOURCE_EXTENDED 1 - #endif - diff --git a/external/icu/icu4c-warnings.patch b/external/icu/icu4c-warnings.patch new file mode 100644 index 000000000000..96608d7d1ef3 --- /dev/null +++ b/external/icu/icu4c-warnings.patch @@ -0,0 +1,10 @@ +--- misc/icu/source/common/unicode/utf16.h ++++ misc/build/icu/source/common/unicode/utf16.h +@@ -319,6 +319,7 @@ + (s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \ + } else /* c>0x10ffff or not enough space */ { \ + (isError)=TRUE; \ ++ (void)(isError); \ + } \ + } + diff --git a/external/icu/icu4c-warnings.patch.1 b/external/icu/icu4c-warnings.patch.1 deleted file mode 100644 index 3c39ba12ded7..000000000000 --- a/external/icu/icu4c-warnings.patch.1 +++ /dev/null @@ -1,11 +0,0 @@ -diff -ur icu.org/source/common/unicode/utf16.h icu/source/common/unicode/utf16.h ---- icu.org/source/common/unicode/utf16.h 2017-02-03 19:57:23.000000000 +0100 -+++ icu/source/common/unicode/utf16.h 2017-04-21 22:05:57.414397617 +0200 -@@ -321,6 +321,7 @@ - (s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \ - } else /* c>0x10ffff or not enough space */ { \ - (isError)=TRUE; \ -+ (void)(isError); \ - } \ - } - diff --git a/external/icu/icu4c-khmerbreakengine.patch.1 b/external/icu/khmerbreakengine.patch index 74f60f866257..8f81f315da3e 100644 --- a/external/icu/icu4c-khmerbreakengine.patch.1 +++ b/external/icu/khmerbreakengine.patch @@ -1,7 +1,8 @@ -diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp ---- icu.org/source/common/dictbe.cpp 2017-01-20 01:20:31.000000000 +0100 -+++ icu/source/common/dictbe.cpp 2017-04-21 23:14:23.845894374 +0200 -@@ -29,8 +29,17 @@ +diff --git a/source/common/dictbe.cpp b/source/common/dictbe.cpp +index f1c874d..3ad1b3f 100644 +--- misc/icu/source/common/dictbe.cpp ++++ build/icu/source/common/dictbe.cpp +@@ -27,8 +27,17 @@ U_NAMESPACE_BEGIN ****************************************************************** */ @@ -20,7 +21,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp } DictionaryBreakEngine::~DictionaryBreakEngine() { -@@ -92,7 +101,7 @@ +@@ -90,7 +99,7 @@ DictionaryBreakEngine::findBreaks( UText *text, result = divideUpDictionaryRange(text, rangeStart, rangeEnd, foundBreaks); utext_setNativeIndex(text, current); } @@ -29,7 +30,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp return result; } -@@ -103,6 +112,169 @@ +@@ -101,6 +110,169 @@ DictionaryBreakEngine::setCharacters( const UnicodeSet &set ) { fSet.compact(); } @@ -199,7 +200,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp /* ****************************************************************** * PossibleWord -@@ -130,35 +302,35 @@ +@@ -128,35 +302,35 @@ private: public: PossibleWord() : count(0), prefix(0), offset(-1), mark(0), current(0) {}; ~PossibleWord() {}; @@ -244,7 +245,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp // Dictionary leaves text after longest prefix, not longest word. Back up. if (count <= 0) { utext_setNativeIndex(text, start); -@@ -830,51 +1002,28 @@ +@@ -828,51 +1002,28 @@ foundBest: * KhmerBreakEngine */ @@ -307,22 +308,14 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp } KhmerBreakEngine::~KhmerBreakEngine() { -@@ -886,180 +1035,204 @@ +@@ -884,180 +1036,204 @@ KhmerBreakEngine::divideUpDictionaryRange( UText *text, int32_t rangeStart, int32_t rangeEnd, UStack &foundBreaks ) const { - if ((rangeEnd - rangeStart) < KHMER_MIN_WORD_SPAN) { - return 0; // Not enough characters for two words -- } -- -- uint32_t wordsFound = 0; -- int32_t cpWordLength = 0; -- int32_t cuWordLength = 0; -- int32_t current; + uint32_t wordsFound = foundBreaks.size(); - UErrorCode status = U_ZERO_ERROR; -- PossibleWord words[KHMER_LOOKAHEAD]; -- ++ UErrorCode status = U_ZERO_ERROR; + int32_t before = 0; + int32_t after = 0; + int32_t finalBefore = 0; @@ -338,7 +331,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp + --scanStart; + startZwsp = scanBeforeStart(text, scanStart, breakStart); + } - utext_setNativeIndex(text, rangeStart); ++ utext_setNativeIndex(text, rangeStart); + scanFwdClusters(text, rangeEnd, initAfter); + bool endZwsp = scanAfterEnd(text, utext_nativeLength(text), scanEnd, breakEnd); + utext_setNativeIndex(text, rangeEnd - 1); @@ -349,8 +342,14 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp + if (breakEnd || fTypes < UBRK_LINE) + foundBreaks.push(rangeEnd, status); + return foundBreaks.size() - wordsFound; -+ } -+ + } + +- uint32_t wordsFound = 0; +- int32_t cpWordLength = 0; +- int32_t cuWordLength = 0; +- int32_t current; +- UErrorCode status = U_ZERO_ERROR; +- PossibleWord words[KHMER_LOOKAHEAD]; + scanStart = rangeStart; + scanWJ(text, scanStart, rangeEnd, before, after); + if (startZwsp || initAfter >= before) { @@ -362,20 +361,43 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp + if (endZwsp && before > finalBefore) + before = finalBefore; + utext_setNativeIndex(text, rangeStart); ++ int32_t numCodePts = rangeEnd - rangeStart; ++ // bestSnlp[i] is the snlp of the best segmentation of the first i ++ // code points in the range to be matched. ++ UVector32 bestSnlp(numCodePts + 1, status); ++ bestSnlp.addElement(0, status); ++ for(int32_t i = 1; i <= numCodePts; i++) { ++ bestSnlp.addElement(kuint32max, status); ++ } + - while (U_SUCCESS(status) && (current = (int32_t)utext_getNativeIndex(text)) < rangeEnd) { - cuWordLength = 0; - cpWordLength = 0; -- ++ // prev[i] is the index of the last code point in the previous word in ++ // the best segmentation of the first i characters. Note negative implies ++ // that the code point is part of an unknown word. ++ UVector32 prev(numCodePts + 1, status); ++ for(int32_t i = 0; i <= numCodePts; i++) { ++ prev.addElement(kuint32max, status); ++ } + - // Look for candidate words at the current position - int32_t candidates = words[wordsFound%KHMER_LOOKAHEAD].candidates(text, fDictionary, rangeEnd); -- ++ const int32_t maxWordSize = 20; ++ UVector32 values(maxWordSize, status); ++ values.setSize(maxWordSize); ++ UVector32 lengths(maxWordSize, status); ++ lengths.setSize(maxWordSize); + - // If we found exactly one, use that - if (candidates == 1) { - cuWordLength = words[wordsFound % KHMER_LOOKAHEAD].acceptMarked(text); - cpWordLength = words[wordsFound % KHMER_LOOKAHEAD].markedCPLength(); - wordsFound += 1; - } -- ++ // Dynamic programming to find the best segmentation. + - // If there was more than one, see which one can take us forward the most words - else if (candidates > 1) { - // If we're already at the end of the range, we're done @@ -390,12 +412,25 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp - words[wordsFound % KHMER_LOOKAHEAD].markCurrent(); - wordsMatched = 2; - } -- ++ // In outer loop, i is the code point index, ++ // ix is the corresponding string (code unit) index. ++ // They differ when the string contains supplementary characters. ++ int32_t ix = rangeStart; ++ for (int32_t i = 0; i < numCodePts; ++i, utext_setNativeIndex(text, ++ix)) { ++ if ((uint32_t)bestSnlp.elementAti(i) == kuint32max) { ++ continue; ++ } + - // If we're already at the end of the range, we're done - if ((int32_t)utext_getNativeIndex(text) >= rangeEnd) { - goto foundBest; - } -- ++ int32_t count; ++ count = fDictionary->matches(text, numCodePts - i, maxWordSize, ++ NULL, lengths.getBuffer(), values.getBuffer(), NULL, &fIgnoreSet, 2); ++ // Note: lengths is filled with code point lengths ++ // The NULL parameter is the ignored code unit lengths. + - // See if any of the possible second words is followed by a third word - do { - // If we find a third word, stop right away @@ -406,47 +441,6 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp - } - while (words[(wordsFound + 1) % KHMER_LOOKAHEAD].backUp(text)); - } -+ utext_setNativeIndex(text, rangeStart); -+ int32_t numCodePts = rangeEnd - rangeStart; -+ // bestSnlp[i] is the snlp of the best segmentation of the first i -+ // code points in the range to be matched. -+ UVector32 bestSnlp(numCodePts + 1, status); -+ bestSnlp.addElement(0, status); -+ for(int32_t i = 1; i <= numCodePts; i++) { -+ bestSnlp.addElement(kuint32max, status); -+ } -+ -+ // prev[i] is the index of the last code point in the previous word in -+ // the best segmentation of the first i characters. Note negative implies -+ // that the code point is part of an unknown word. -+ UVector32 prev(numCodePts + 1, status); -+ for(int32_t i = 0; i <= numCodePts; i++) { -+ prev.addElement(kuint32max, status); -+ } -+ -+ const int32_t maxWordSize = 20; -+ UVector32 values(maxWordSize, status); -+ values.setSize(maxWordSize); -+ UVector32 lengths(maxWordSize, status); -+ lengths.setSize(maxWordSize); -+ -+ // Dynamic programming to find the best segmentation. -+ -+ // In outer loop, i is the code point index, -+ // ix is the corresponding string (code unit) index. -+ // They differ when the string contains supplementary characters. -+ int32_t ix = rangeStart; -+ for (int32_t i = 0; i < numCodePts; ++i, utext_setNativeIndex(text, ++ix)) { -+ if ((uint32_t)bestSnlp.elementAti(i) == kuint32max) { -+ continue; -+ } -+ -+ int32_t count; -+ count = fDictionary->matches(text, numCodePts - i, maxWordSize, -+ NULL, lengths.getBuffer(), values.getBuffer(), NULL, &fIgnoreSet, 2); -+ // Note: lengths is filled with code point lengths -+ // The NULL parameter is the ignored code unit lengths. -+ + for (int32_t j = 0; j < count; j++) { + int32_t ln = lengths.elementAti(j); + if (ln + i >= numCodePts) @@ -528,27 +522,17 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp - if (cuWordLength <= 0) { - wordsFound += 1; - } -- -- // Update the length with the passed-over characters -- cuWordLength += chars; -- } -- else { -- // Back up to where we were for next iteration -- utext_setNativeIndex(text, current+cuWordLength); + } while (fMarkSet.contains(c) || fIgnoreSet.contains(c)); + values.setElementAt(BADSNLP, count); + lengths.setElementAt(utext_getNativeIndex(text) - currix, count++); + } else { + values.setElementAt(BADSNLP, count); + lengths.setElementAt(1, count++); - } - } ++ } ++ } -- // Never stop before a combining mark. -- int32_t currPos; -- while ((currPos = (int32_t)utext_getNativeIndex(text)) < rangeEnd && fMarkSet.contains(utext_current32(text))) { -- utext_next32(text); -- cuWordLength += (int32_t)utext_getNativeIndex(text) - currPos; +- // Update the length with the passed-over characters +- cuWordLength += chars; + for (int32_t j = 0; j < count; j++) { + uint32_t v = values.elementAti(j); + int32_t newSnlp = bestSnlp.elementAti(i) + v; @@ -559,7 +543,10 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp + ++ln; + utext_next32(text); + c = utext_current32(text); -+ } + } +- else { +- // Back up to where we were for next iteration +- utext_setNativeIndex(text, current+cuWordLength); + int32_t ln_j_i = ln + i; // yes really i! + if (newSnlp < bestSnlp.elementAti(ln_j_i)) { + if (v == BADSNLP) { @@ -572,9 +559,37 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp + else + prev.setElementAt(i, ln_j_i); + bestSnlp.setElementAt(newSnlp, ln_j_i); -+ } + } } -- ++ } ++ // Start pushing the optimal offset index into t_boundary (t for tentative). ++ // prev[numCodePts] is guaranteed to be meaningful. ++ // We'll first push in the reverse order, i.e., ++ // t_boundary[0] = numCodePts, and afterwards do a swap. ++ UVector32 t_boundary(numCodePts+1, status); + +- // Never stop before a combining mark. +- int32_t currPos; +- while ((currPos = (int32_t)utext_getNativeIndex(text)) < rangeEnd && fMarkSet.contains(utext_current32(text))) { +- utext_next32(text); +- cuWordLength += (int32_t)utext_getNativeIndex(text) - currPos; ++ int32_t numBreaks = 0; ++ // No segmentation found, set boundary to end of range ++ while (numCodePts >= 0 && (uint32_t)bestSnlp.elementAti(numCodePts) == kuint32max) { ++ --numCodePts; ++ } ++ if (numCodePts < 0) { ++ t_boundary.addElement(numCodePts, status); ++ numBreaks++; ++ } else { ++ for (int32_t i = numCodePts; (uint32_t)i != kuint32max; i = prev.elementAti(i)) { ++ if (i < 0) i = -i; ++ t_boundary.addElement(i, status); ++ numBreaks++; + } ++ U_ASSERT(prev.elementAti(t_boundary.elementAti(numBreaks - 1)) == 0); ++ } + - // Look ahead for possible suffixes if a dictionary word does not follow. - // We do this in code rather than using a rule so that the heuristic - // resynch continues to function. For example, one of the suffix characters @@ -616,30 +631,6 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp - // Did we find a word on this iteration? If so, push it on the break stack - if (cuWordLength > 0) { - foundBreaks.push((current+cuWordLength), status); -+ } -+ // Start pushing the optimal offset index into t_boundary (t for tentative). -+ // prev[numCodePts] is guaranteed to be meaningful. -+ // We'll first push in the reverse order, i.e., -+ // t_boundary[0] = numCodePts, and afterwards do a swap. -+ UVector32 t_boundary(numCodePts+1, status); -+ -+ int32_t numBreaks = 0; -+ // No segmentation found, set boundary to end of range -+ while (numCodePts >= 0 && (uint32_t)bestSnlp.elementAti(numCodePts) == kuint32max) { -+ --numCodePts; -+ } -+ if (numCodePts < 0) { -+ t_boundary.addElement(numCodePts, status); -+ numBreaks++; -+ } else { -+ for (int32_t i = numCodePts; (uint32_t)i != kuint32max; i = prev.elementAti(i)) { -+ if (i < 0) i = -i; -+ t_boundary.addElement(i, status); -+ numBreaks++; -+ } -+ U_ASSERT(prev.elementAti(t_boundary.elementAti(numBreaks - 1)) == 0); -+ } -+ + // Now that we're done, convert positions in t_boundary[] (indices in + // the normalized input string) back to indices in the original input UText + // while reversing t_boundary and pushing values to foundBreaks. @@ -668,10 +659,11 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp } #if !UCONFIG_NO_NORMALIZATION -diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h ---- icu.org/source/common/dictbe.h 2017-01-20 01:20:31.000000000 +0100 -+++ icu/source/common/dictbe.h 2017-04-21 23:14:23.845894374 +0200 -@@ -34,6 +34,15 @@ +diff --git a/source/common/dictbe.h b/source/common/dictbe.h +index d3488cd..26caa75 100644 +--- misc/icu/source/common/dictbe.h ++++ build/icu/source/common/dictbe.h +@@ -32,6 +32,15 @@ class Normalizer2; */ class DictionaryBreakEngine : public LanguageBreakEngine { private: @@ -687,7 +679,7 @@ diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h /** * The set of characters handled by this engine * @internal -@@ -48,11 +57,63 @@ +@@ -46,11 +55,63 @@ class DictionaryBreakEngine : public LanguageBreakEngine { uint32_t fTypes; @@ -754,7 +746,7 @@ diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h public: -@@ -83,7 +144,7 @@ +@@ -81,7 +142,7 @@ class DictionaryBreakEngine : public LanguageBreakEngine { * <p>Find any breaks within a run in the supplied text.</p> * * @param text A UText representing the text. The iterator is left at @@ -763,7 +755,7 @@ diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h * that starts from the first (or last) character in the range. * @param startPos The start of the run within the supplied text. * @param endPos The end of the run within the supplied text. -@@ -245,118 +306,120 @@ +@@ -243,118 +304,120 @@ class LaoBreakEngine : public DictionaryBreakEngine { }; @@ -996,10 +988,11 @@ diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h #if !UCONFIG_NO_NORMALIZATION /******************************************************************* -diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionarydata.cpp ---- icu.org/source/common/dictionarydata.cpp 2017-01-20 01:20:31.000000000 +0100 -+++ icu/source/common/dictionarydata.cpp 2017-04-21 23:14:23.846894372 +0200 -@@ -44,7 +44,7 @@ +diff --git a/source/common/dictionarydata.cpp b/source/common/dictionarydata.cpp +index cb594c6..82f2e77 100644 +--- misc/icu/source/common/dictionarydata.cpp ++++ build/icu/source/common/dictionarydata.cpp +@@ -42,7 +42,7 @@ int32_t UCharsDictionaryMatcher::getType() const { int32_t UCharsDictionaryMatcher::matches(UText *text, int32_t maxLength, int32_t limit, int32_t *lengths, int32_t *cpLengths, int32_t *values, @@ -1008,7 +1001,7 @@ diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionaryda UCharsTrie uct(characters); int32_t startingTextIndex = (int32_t)utext_getNativeIndex(text); -@@ -55,7 +55,13 @@ +@@ -53,7 +53,13 @@ int32_t UCharsDictionaryMatcher::matches(UText *text, int32_t maxLength, int32_t UStringTrieResult result = (codePointsMatched == 0) ? uct.first(c) : uct.next(c); int32_t lengthMatched = (int32_t)utext_getNativeIndex(text) - startingTextIndex; codePointsMatched += 1; @@ -1022,7 +1015,7 @@ diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionaryda if (wordCount < limit) { if (values != NULL) { values[wordCount] = uct.getValue(); -@@ -112,7 +118,7 @@ +@@ -110,7 +116,7 @@ int32_t BytesDictionaryMatcher::getType() const { int32_t BytesDictionaryMatcher::matches(UText *text, int32_t maxLength, int32_t limit, int32_t *lengths, int32_t *cpLengths, int32_t *values, @@ -1031,7 +1024,7 @@ diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionaryda BytesTrie bt(characters); int32_t startingTextIndex = (int32_t)utext_getNativeIndex(text); int32_t wordCount = 0; -@@ -122,7 +128,13 @@ +@@ -120,7 +126,13 @@ int32_t BytesDictionaryMatcher::matches(UText *text, int32_t maxLength, int32_t UStringTrieResult result = (codePointsMatched == 0) ? bt.first(transform(c)) : bt.next(transform(c)); int32_t lengthMatched = (int32_t)utext_getNativeIndex(text) - startingTextIndex; codePointsMatched += 1; @@ -1045,10 +1038,11 @@ diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionaryda if (wordCount < limit) { if (values != NULL) { values[wordCount] = bt.getValue(); -diff -ur icu.org/source/common/dictionarydata.h icu/source/common/dictionarydata.h ---- icu.org/source/common/dictionarydata.h 2017-01-20 01:20:31.000000000 +0100 -+++ icu/source/common/dictionarydata.h 2017-04-21 23:14:23.846894372 +0200 -@@ -21,6 +21,7 @@ +diff --git a/source/common/dictionarydata.h b/source/common/dictionarydata.h +index 0216ab0..ee9e571 100644 +--- misc/icu/source/common/dictionarydata.h ++++ build/icu/source/common/dictionarydata.h +@@ -19,6 +19,7 @@ #include "unicode/utext.h" #include "unicode/udata.h" #include "udataswp.h" @@ -1056,7 +1050,7 @@ diff -ur icu.org/source/common/dictionarydata.h icu/source/common/dictionarydata #include "unicode/uobject.h" #include "unicode/ustringtrie.h" -@@ -92,7 +93,7 @@ +@@ -90,7 +91,7 @@ public: */ virtual int32_t matches(UText *text, int32_t maxLength, int32_t limit, int32_t *lengths, int32_t *cpLengths, int32_t *values, @@ -1065,7 +1059,7 @@ diff -ur icu.org/source/common/dictionarydata.h icu/source/common/dictionarydata /** @return DictionaryData::TRIE_TYPE_XYZ */ virtual int32_t getType() const = 0; -@@ -107,7 +108,7 @@ +@@ -105,7 +106,7 @@ public: virtual ~UCharsDictionaryMatcher(); virtual int32_t matches(UText *text, int32_t maxLength, int32_t limit, int32_t *lengths, int32_t *cpLengths, int32_t *values, @@ -1074,7 +1068,7 @@ diff -ur icu.org/source/common/dictionarydata.h icu/source/common/dictionarydata virtual int32_t getType() const; private: const UChar *characters; -@@ -125,7 +126,7 @@ +@@ -123,7 +124,7 @@ public: virtual ~BytesDictionaryMatcher(); virtual int32_t matches(UText *text, int32_t maxLength, int32_t limit, int32_t *lengths, int32_t *cpLengths, int32_t *values, @@ -1083,10 +1077,11 @@ 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 2017-04-21 23:13:03.248087545 +0200 -+++ icu/source/data/Makefile.in 2017-04-21 23:14:23.846894372 +0200 -@@ -183,7 +183,7 @@ +diff --git a/source/data/Makefile.in b/source/data/Makefile.in +index 816c82d..c637d70 100644 +--- misc/icu/source/data/Makefile.in ++++ build/icu/source/data/Makefile.in +@@ -181,7 +181,7 @@ endif endif endif @@ -1095,9 +1090,9 @@ diff -ur icu.org/source/data/Makefile.in icu/source/data/Makefile.in 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 @@ +@@ -564,8 +564,14 @@ $(BRKBLDDIR)/burmesedict.dict: $(TOOLBINDIR)/gendict$(TOOLEXEEXT) $(DAT_FILES) $(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 @@ -1109,6 +1104,7 @@ diff -ur icu.org/source/data/Makefile.in icu/source/data/Makefile.in +$(MAINBUILDDIR)/khmerdict.stamp: $(BRKSRCDIR)/khmerdict.dict build-local + cp $< $(BRKBLDDIR) + echo "timestamp" > $@ - + #################################################### CFU # CFU FILES + diff --git a/external/icu/rtti.patch.0 b/external/icu/rtti.patch.0 new file mode 100644 index 000000000000..2af9622ec9ad --- /dev/null +++ b/external/icu/rtti.patch.0 @@ -0,0 +1,11 @@ +--- source/config/mh-linux ++++ source/config/mh-linux +@@ -35,7 +35,7 @@ + #SH# LD_SONAME= + + ## Shared library options +-LD_SOOPTIONS= -Wl,-Bsymbolic ++LD_SOOPTIONS= -Wl,-Bsymbolic-functions + + ## Shared object suffix + SO = so diff --git a/external/libcdr/ExternalProject_libcdr.mk b/external/libcdr/ExternalProject_libcdr.mk index 2cd41db242cd..86f93daf1b90 100644 --- a/external/libcdr/ExternalProject_libcdr.mk +++ b/external/libcdr/ExternalProject_libcdr.mk @@ -36,7 +36,7 @@ $(call gb_ExternalProject_get_state_target,libcdr,build) : --disable-werror \ --disable-weffc \ $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \ - CXXFLAGS="$(CXXFLAGS) $(ICU_UCHAR_TYPE) $(BOOST_CPPFLAGS) \ + CXXFLAGS="$(CXXFLAGS) $(BOOST_CPPFLAGS) \ -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED" \ $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ && $(MAKE) \ diff --git a/external/libebook/ExternalProject_libebook.mk b/external/libebook/ExternalProject_libebook.mk index 17065829014b..45b15f2f5eb7 100644 --- a/external/libebook/ExternalProject_libebook.mk +++ b/external/libebook/ExternalProject_libebook.mk @@ -38,7 +38,7 @@ $(call gb_ExternalProject_get_state_target,libebook,build) : $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \ --disable-werror \ --disable-weffc \ - CXXFLAGS="$(CXXFLAGS) $(ICU_UCHAR_TYPE) $(BOOST_CPPFLAGS) \ + CXXFLAGS="$(CXXFLAGS) $(BOOST_CPPFLAGS) \ -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED" \ XML_CFLAGS="$(LIBXML_CFLAGS)" \ XML_LIBS="$(LIBXML_LIBS)" \ diff --git a/external/libfreehand/ExternalProject_libfreehand.mk b/external/libfreehand/ExternalProject_libfreehand.mk index f1bbacbb06e4..15a17072e872 100644 --- a/external/libfreehand/ExternalProject_libfreehand.mk +++ b/external/libfreehand/ExternalProject_libfreehand.mk @@ -25,7 +25,6 @@ $(eval $(call gb_ExternalProject_use_externals,libfreehand,\ $(call gb_ExternalProject_get_state_target,libfreehand,build) : $(call gb_ExternalProject_run,build,\ export PKG_CONFIG="" \ - && export CXXFLAGS="$(CXXFLAGS) $(ICU_UCHAR_TYPE)" \ && MAKE=$(MAKE) ./configure \ --with-pic \ --enable-static \ diff --git a/external/libmspub/ExternalProject_libmspub.mk b/external/libmspub/ExternalProject_libmspub.mk index 808d74b2f571..a168a62c636f 100644 --- a/external/libmspub/ExternalProject_libmspub.mk +++ b/external/libmspub/ExternalProject_libmspub.mk @@ -35,7 +35,7 @@ $(call gb_ExternalProject_get_state_target,libmspub,build) : --disable-werror \ --disable-weffc \ $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \ - CXXFLAGS="$(CXXFLAGS) $(ICU_UCHAR_TYPE) $(BOOST_CPPFLAGS) \ + CXXFLAGS="$(CXXFLAGS) $(BOOST_CPPFLAGS) \ -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED" \ $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ && $(MAKE) \ diff --git a/external/libvisio/ExternalProject_libvisio.mk b/external/libvisio/ExternalProject_libvisio.mk index 2f212ceac249..884fde820d00 100644 --- a/external/libvisio/ExternalProject_libvisio.mk +++ b/external/libvisio/ExternalProject_libvisio.mk @@ -35,7 +35,7 @@ $(call gb_ExternalProject_get_state_target,libvisio,build) : $(if $(ENABLE_DEBUG),--enable-debug,--disable-debug) \ --disable-werror \ $(if $(verbose),--disable-silent-rules,--enable-silent-rules) \ - CXXFLAGS="$(CXXFLAGS) $(ICU_UCHAR_TYPE) $(BOOST_CPPFLAGS)" \ + CXXFLAGS="$(CXXFLAGS) $(BOOST_CPPFLAGS)" \ $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ && $(MAKE) \ ) |