diff options
Diffstat (limited to 'Build/source/libs/icu/icu-51.1-PATCHES')
7 files changed, 695 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-51.1-PATCHES/ChangeLog b/Build/source/libs/icu/icu-51.1-PATCHES/ChangeLog new file mode 100644 index 00000000000..f9815ce2050 --- /dev/null +++ b/Build/source/libs/icu/icu-51.1-PATCHES/ChangeLog @@ -0,0 +1,363 @@ +2013-03-07 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-51.1 source tree (icu4c-51_rc-src.tgz) from: + http://download.icu-project.org/files/icu4c/51rc/ + + * patch-11-CURR_FULL_DIR, patch-14-mingw-cross, + patch-83-zonemeta-bugfix, patch-84-c++11-bugfix (removed): + Now in icu-51.1. + * patch-{40,50,60,70,82}-* (removed): Obsolete, layout not used. + * patch-02-kFreeBSD (removed): Not needed. + + * patch-03-gcc-atomic, patch-04-Windows2000, + patch-08-avoid-rebuild, patch-12-mingw, patch-13-STATIC_PREFIX: + Adapted. + +2012-11-29 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-04-Windows2000 (new): From Akira. + +2012-11-16 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-84-c++11-bugfix (new): Required for gcc-4.7. + From http://bugs.icu-project.org/trac/ticket/9728. + +2012-11-06 Peter Breitenlohner <peb@mppmu.mpg.de> + + Updated icu-50.1 source tree (icu4c-50_1-src.tgz) from: + http://download.icu-project.org/files/icu4c/50.1/ + + * patch-83-zonemeta-bugfix (new): Required for MinGW. + +2012-10-24 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-50.1 source tree (icu4c-50_rc-src.tgz) from: + http://download.icu-project.org/files/icu4c/50rc/ + + * patch-01-Cygwin, patch-02-FreeBSD (removed): Now in icu-50.1. + * patch-14-GENCCODE_ASSEMBLY (removed): Obsolete. + + * patch-{08,11,12,13,40,50,60,70,82}-*:Adapted. + + * patch-02-kFreeBSD (new): Use Posix conform timezone decl. + * patch-03-gcc-atomic (new): Required for gcc-4.4. + * patch-14-mingw-cross (new): Required for linux->MinGW32 cross. + +2012-06-18 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-82-Indic-bugfix (new): Revert ICU SVN commit 26090. + +2012-06-09 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-49.1.2 source tree (icu4c-49_1_2-src.tgz) from: + http://download.icu-project.org/files/icu4c/49.1.2/ + + * patch-07-configure-utf16-string, patch-09-generated (removed): + Obsolete. + + * patch-{01,02,08,11,12,13,14,40,50,60,70}-*: Adapted. + +2012-04-24 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-02-FreeBSD (new): Build fix for FreeBSD. + Reported by Nikola Lecic <nikola.lecic@anthesphoria.net> + +2012-04-18 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-49.1.1 source tree (icu4c-49_1_1-src.tgz) from: + http://download.icu-project.org/files/icu4c/49.1.1/ + + * patch-05-m4-quoting: Removed, now in icu-49.1.1. + + * patch-{01,07,08,09,11,12,13,14,40,50,60,70}-*: Adapted. + +2012-03-23 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-01-Cygwin (new): Build fix for Cygwin. + Reported by Ken Brown <kbrow1i@gmail.com>. + +2012-03-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + Updated icu-49.1 source tree (icu4c-49_1-src.tgz) from: + http://download.icu-project.org/files/icu4c/49.1/ + + * patch-{01,02,03,04}-*: Removed, now in icu-49.1. + + * patch-{05,07,08,09,11,12,13,14,40,50,60,70}-*: Adapted. + +2012-03-21 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-05-m4-quoting (new): Correct m4 quoting in configure.in. + +2012-03-17 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-04-FreeBSD (new): From ICU. + +2012-03-15 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-40-auxParam: Fix a typo (auxillary => auxiliary). + * patch-70-Arabic: Remove useless changes of original code. + +2012-03-12 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-03-U_PF_UNKNOWN (new): Bug fix for the case that + U_PLATFORM == U_PF_UNKNOWN as, e.g., for FreeBSD (why?). + Reported by Hilmar Preusse <hille42@web.de>. + +2012-03-03 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-49.1 source tree (icu4c-49_rc-src.tgz) from: + http://download.icu-project.org/files/icu4c/49rc/ + + * patch-40-LESwaps, patch-81-Indic: Removed, now in icu-49.1. + + * patch-01-UVoidFunction (new): Bug fix for '--disable-dyload'. + * patch-02-AC_CHECK_TOOL (new): Bug fix for cross compilation. + + * TL-Changes, patch-07-configure-utf16-string, + patch-08-avoid-rebuild, patch-09-generated, + patch-11-CURR_FULL_DIR, patch-12-mingw, patch-13-STATIC_PREFIX, + patch-14-GENCCODE_ASSEMBLY, patch-50-Vertical, patch-60-KernPair, + patch-70-Arabic: Adapted. + * patch-05-auxParam (removed): Renamed ... + * patch-40-auxParam (new): ... to this and adapted. + +2011-08-31 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-40-LESwaps: See ICU Ticket #8657, comment 11. + +2011-08-09 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-4.8.1 source tree (icu4c-4_8_1-src.tgz) from: + http://download.icu-project.org/files/icu4c/4.8.1/ + + * patch-06-mingw: Removed, included in icu-4.8.1. + + * TL-Changes, patch-05-auxParam, + patch-07-configure-utf16-string, patch-08-avoid-rebuild, + patch-09-generated, patch-11-CURR_FULL_DIR, patch-12-mingw, + patch-13-STATIC_PREFIX, patch-14-GENCCODE_ASSEMBLY, + patch-50-Vertical, patch-60-KernPair, patch-70-Arabic, + patch-81-Indic: Adapted. + + * patch-40-LESwaps: Rewritten, see ICU Ticket #8657, comment 7. + +2011-06-19 Karl Berry <karl@tug.org> + + * patch-40-LESwaps: revert to ICU 4.4, as 4.6 and 4.8 code + is broken on BigEndian machines. + http://bugs.icu-project.org/trac/ticket/8657 + tlbuild mail, 17 Jun 2011 17:10:38 + +2011-05-26 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-4.8 source tree (icu4c-4_8-src.tgz) from: + http://download.icu-project.org/files/icu4c/4.8/ + + * patch-80-Indic: Removed (not needed). + + * TL-Changes, patch-05-auxParam, patch-06-mingw, + patch-07-configure-utf16-string, patch-08-avoid-rebuild, + patch-09-generated, patch-11-CURR_FULL_DIR, patch-12-mingw, + patch-13-STATIC_PREFIX, patch-14-GENCCODE_ASSEMBLY, + patch-50-Vertical, patch-60-KernPair, patch-70-Arabic, + patch-81-Indic: Adapted. + +2011-05-11 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-14-GENCCODE_ASSEMBLY (new): For amd64-kfreebsd. + +2011-05-09 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-13-STATIC_PREFIX (new): Never use libsicuxxx.a. + +2011-02-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-81-Indic (new): IndicReordering.*: Respect array bounds. + + * patch-05-auxParam: Fix a bug introduced when importing icu-4.6. + +2010-12-07 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-11-CURR_FULL_DIR: Correctly handle CURR_FULL_DIR when + cross compiling. + +2010-12-02 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-4.6 source tree (icu4c-4_6-src.tgz) from: + http://download.icu-project.org/files/icu4c/4.6/ + + * patch-10-cross-TOOLEXEEXT, patch-13-remove-extra-token: + All removed, included in icu-4.6. + + * TL-Changes, patch-05-auxParam, patch-07-configure-utf16-string, + patch-08-avoid-rebuild, patch-11-CURR_FULL_DIR, patch-12-mingw, + patch-50-Vertical, patch-60-KernPair, patch-70-Arabic, + patch-80-Indic: Adapted. + + * patch-06-mingw (new): MinGW32 is Windows, not Cygwin. + * patch-09-generated (new): Regenerate configure. + +2010-04-08 Karl Berry <karl@tug.org> + + * patch-07-configure-utf16-string: new patch so we can disable the + check for UTF16 string literals. See comments in our + libs/icu/configure.ac. + +2010-03-31 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-4.4 source tree (icu4c-4_4-src.tgz) from: + http://download.icu-project.org/files/icu4c/4.4/ + + * fix-case-insensitive, patch-07-cygwin, patch-09-cross, + patch-20-fix-gt_ge, patch-21-fix-not_aligned, + patch-22-fix-JK-adjust_for_marks, patch-23-fix-JK-GlyphPos: + All removed, included in icu-4.4. + + * TL-Changes, patch-05-auxParam, patch-08-avoid-rebuild, + patch-10-cross-TOOLEXEEXT, patch-11-CURR_FULL_DIR, + patch-12-mingw, patch-50-Vertical, patch-60-KernPair, + patch-70-Arabic, patch-80-Indic: Adapted. + + * patch-13-remove-extra-token (new): Avoid compiler warning. + +2010-02-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + Fixes for Linux => MinGW32 cross compilation. + * patch-10-cross-TOOLEXEEXT (new): Fix a cross compilation typo. + * patch-11-CURR_FULL_DIR (new): Fix for cross compilation on + a Unix like system. Does MinGW32 have pwd? + * patch-12-mingw (new): Changes in config/mh-mingw (libraries + named as for everyone else). + +2009-10-28 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-09-cross (new): Modify AC_CHECK_64BIT_LIBS in aclocal.m4 + to allow cross compilation. + +2009-10-26 Peter Breitenlohner <peb@mppmu.mpg.de> + + * patch-08-avoid-rebuild (new): Modify data/Makefile.in such + that libsicudata.a is not rebuilt again and again. + +2009-10-25 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-4.2.1 source tree (icu4c-4_2_1-src.tgz) from: + http://download.icu-project.org/files/icu4c/4.2.1/ + + * patch-02-syntax, patch-40-Shaping (both removed): Obsolete. + + * TL-Changes, patch-80-Indic: Adapted. + +2009-10-24 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-4.0.1 source tree (icu4c-4_0_1-src.tgz) from: + http://download.icu-project.org/files/icu4c/4.0.1/ + + * patch-01-backport-4.0.1, patch-01-too_much-4.0.1, + patch-06-build-fix, patch-06-partial-4.0.1, + patch-10-backport-4.0.1, patch-11-partial-4.0.1, + patch-99-test (all removed): Obsolete. + + * TL-Changes, patch-40-Shaping, patch-80-Indic: Adapted. + +2009-10-23 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported icu-3.8.1 source tree (icu4c-3_8_1-src.tgz) from: + http://download.icu-project.org/files/icu4c/3.8.1/ + + * TL-Changes (new): Description of modifications of source tree. + + * fix-case-insensitive (new): Shell script used to rename + source/layout/Features.h => ICUFeatures.h (required for Cygwin) + and modify references to that file accordingly. + + * patch-01-backport-4.0.1 (new): Replace layout/CanonData.cpp, + layout/GlyphPositionAdjustments.cpp, + layout/IndicReordering.{cpp,h}, layout/LELanguages.h, + layout/LESwaps.h, layout/OpenTypeLayoutEngine.cpp, + layout/ScriptAndLanguage.cpp, layout/ThaiLayoutEngine.{cpp,h}, + layoutex/ParagraphLayout.cpp, and test/letest/sfnt.h by their + 4.0.1 versions. + * patch-01-too_much-4.0.1 (new): Undo one change in + layoutex/ParagraphLayout.cpp. + + * patch-02-syntax (new): Fix some dubious syntax in + layoutex/ParagraphLayout.cpp. + + * patch-05-auxParam (new): Handling of extension for XeTeX in + layout/AlternateSubstSubtables.cpp, + layout/GlyphIterator.{cpp,h}, + layout/LEGlyphStorage.{cpp,h}, + and layout/OpenTypeLayoutEngine.{cpp,h}. + + * patch-06-build-fix (new): Build fix in common/ubidi.c. + * patch-06-partial-4.0.1 (new): Partial backport of common/putil.c + from 4.0.1. + * patch-07-cygwin (new): Changes in config/mh-cygwin (libraries + named as for everyone else). + + * patch-10-backport-4.0.1 (new): Replace + layout/ScriptAndLanguageTags.{cpp,h} by their 4.0.1 versions. + * patch-11-partial-4.0.1 (new): Backport of some changes in + layout/LayoutEngine.cpp from 4.0.1. + + Bug fixes originally by: Jonathan Kew <jfkthame@googlemail.com> + * patch-20-fix-gt_ge (new): In layout/ClassDefinitionTables.cpp. + * patch-21-fix-not_aligned (new): In layout/ExtensionSubtables.cpp. + * patch-22-fix-JK-adjust_for_marks (new): In + layout/MarkToBasePosnSubtables.cpp. + * patch-23-fix-JK-GlyphPos (new): In + layout/OpenTypeLayoutEngine.cpp. + + * patch-40-Shaping (new): Update shaping type data in + layout/ShapingTypeData.cpp to Unicode 5.1. + + * patch-50-Vertical (new): Handling vertical writing in + layout/LEFontInstance.h and layout/ValueRecords.cpp. + + * patch-60-KernPair (new): Modified handling of kerns in + layout/LEFontInstance.{cpp,h} and layout/LayoutEngine.cpp. + + * patch-70-Arabic (new): Add Draft Mongolian shaping classes + in layout/ArabicShaping.{cpp,h} and LayoutEngine.cpp. + + * patch-80-Indic (new): Backport of some changes in + layout/IndicClassTables.cpp from 4.0.1 and in + layout/IndicReordering.cpp from 4.2.1. + + * patch-99-test (new): Changes from TeX Live icu-xetex in + test/letest/PortableFontInstance.{cpp,h}, + test/letest/gendata.{cpp,xml}, test/letest/letest.{cpp,xml}. + + These modifications and patches of icu-3.8.1/ reproduce the + previous icu-xetex/ source tree (except for test data). + +2009-10-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + Slightly rearranged the icu-xetex/ source tree. + + * layout/LELanguages.h: Changed some comments, from 4.0.1. + + * layout/LEGlyphStorage.{cpp,h}, + layout/OpenTypeLayoutEngine.cpp: Renamed adoptAuxDataArrays + back to adoptAuxDataArray as it was in 3.8.1. + + * layout/LEGlyphStorage.h: The XeTeX modifications have added + an additional parameter for setAuxData, however, in most cases + the corresponding argument is NULL. Added an inline definition + of the original method. + layout/ArabicShaping.cpp, layout/HanLayoutEngine.cpp, + layout/HangulLayoutEngine.cpp, layout/IndicReordering.cpp, + layout/KhmerReordering.cpp, layout/LayoutEngine.cpp, + layout/TibetanReordering.cpp: Restored the original 3.8.1 use of + setAuxData without the additional argument NULL. + + * data/Makefile.in: Restored 3.8.1 version, Autoconf >=2.61 ensures + a posix shell making, these changes obsolete. + + * layout/ScriptAndLanguageTags.{cpp,h}: Backport from 4.0.1, + additional tags and changed comments. + + * layout/OpenTypeLayoutEngine.cpp: Removed some obsolete code, + surrounded by #if 0...#endif. diff --git a/Build/source/libs/icu/icu-51.1-PATCHES/TL-Changes b/Build/source/libs/icu/icu-51.1-PATCHES/TL-Changes new file mode 100644 index 00000000000..2835e0c9ba0 --- /dev/null +++ b/Build/source/libs/icu/icu-51.1-PATCHES/TL-Changes @@ -0,0 +1,19 @@ +Changes applied to the icu-51.1/ tree as obtained from: + http://download.icu-project.org/files/icu4c/51.1/icu4c-51_rc-src.tgz + +Removed: + as_is/ + packaging/ + +Updated: + source/config.guess + source/config.sub + source/install-sh + +Reduced size of source/data/in/icudt51l.dat + icupkg -r 'curr/*' IN OUT + icupkg -r 'lang/*' IN OUT + icupkg -r 'region/*' IN OUT + icupkg -r 'rfc*.spp' IN OUT + icupkg -r 'zone/*' IN OUT + diff --git a/Build/source/libs/icu/icu-51.1-PATCHES/patch-03-gcc-atomic b/Build/source/libs/icu/icu-51.1-PATCHES/patch-03-gcc-atomic new file mode 100644 index 00000000000..b8789376f95 --- /dev/null +++ b/Build/source/libs/icu/icu-51.1-PATCHES/patch-03-gcc-atomic @@ -0,0 +1,14 @@ + It seems gcc-4.4 uses external calls. + +diff -ur -x config.guess -x config.sub -x install-sh icu-51.1.orig/source/common/putilimp.h icu-51.1/source/common/putilimp.h +--- icu-51.1.orig/source/common/putilimp.h 2013-03-05 23:11:54.000000000 +0100 ++++ icu-51.1/source/common/putilimp.h 2013-03-07 12:08:46.000000000 +0100 +@@ -183,7 +183,7 @@ + */ + #ifdef U_HAVE_GCC_ATOMICS + /* Use the predefined value. */ +-#elif U_GCC_MAJOR_MINOR >= 404 ++#elif U_GCC_MAJOR_MINOR >= 405 + # define U_HAVE_GCC_ATOMICS 1 + #else + # define U_HAVE_GCC_ATOMICS 0 diff --git a/Build/source/libs/icu/icu-51.1-PATCHES/patch-04-Windows2000 b/Build/source/libs/icu/icu-51.1-PATCHES/patch-04-Windows2000 new file mode 100644 index 00000000000..9431330c92e --- /dev/null +++ b/Build/source/libs/icu/icu-51.1-PATCHES/patch-04-Windows2000 @@ -0,0 +1,125 @@ +diff -ur -x config.guess -x config.sub -x install-sh icu-51.1.orig/source/common/wintz.c icu-51.1/source/common/wintz.c +--- icu-51.1.orig/source/common/wintz.c 2013-03-05 23:11:36.000000000 +0100 ++++ icu-51.1/source/common/wintz.c 2013-03-07 12:49:16.000000000 +0100 +@@ -265,6 +265,28 @@ + TZI tziReg; + TIME_ZONE_INFORMATION apiTZI; + ++ OSVERSIONINFO winosversion; ++ static int NewerThanWindows2000 = -1; ++ ++ /* If the OS version is older than Windows XP, we use the ++ * code in ICU-49.1.2, since GetGeoInfo() is not available. ++ */ ++ ++ if (NewerThanWindows2000 == -1) { ++ if (GetVersionEx (&winosversion) == 0) { ++ /* GetVersionEx() failed for some reason. We assume ++ * the Windows OS is newer than Windows 2000. ++ */ ++ NewerThanWindows2000 = 1; ++ } else if (winosversion.dwMajorVersion > 5 || ++ (winosversion.dwMajorVersion == 5 && ++ winosversion.dwMinorVersion > 0)) { ++ NewerThanWindows2000 = 1; ++ } else { ++ NewerThanWindows2000 = 0; ++ } ++ } ++ + /* Obtain TIME_ZONE_INFORMATION from the API, and then convert it + to TZI. We could also interrogate the registry directly; we do + this below if needed. */ +@@ -285,9 +307,31 @@ + + tmpid[0] = 0; + +- id = GetUserGeoID(GEOCLASS_NATION); +- errorCode = GetGeoInfo(id,GEO_ISO2,ISOcode,3,0); ++ if (NewerThanWindows2000 == 1) { ++ HINSTANCE hi; ++ PROC pgetusergeoid, pgetgeoinfo; ++ ++ /* if LoadLibrary() and/or GetProcAdress() fail, we again ++ * set NewerThanWindows2000 = 0, and use the code in ICU 49.1.2. ++ */ ++ ++ hi = LoadLibrary ("kernel32.dll"); ++ if (hi == NULL) { ++ NewerThanWindows2000 = 0; ++ } else { ++ pgetusergeoid = GetProcAddress (hi, "GetUserGeoID"); ++ pgetgeoinfo = GetProcAddress (hi, "GetGeoInfoA"); ++ } ++ if (!pgetusergeoid || !pgetgeoinfo) ++ NewerThanWindows2000 = 0; + ++ if (NewerThanWindows2000 == 1) { ++ id = (int)pgetusergeoid (GEOCLASS_NATION); ++ errorCode = (int)pgetgeoinfo (id,GEO_ISO2,ISOcode,3,0); ++ } ++ if (hi) ++ FreeLibrary (hi); ++ } + bundle = ures_openDirect(NULL, "windowsZones", &status); + ures_getByKey(bundle, "mapTimezones", bundle, &status); + +@@ -310,14 +354,19 @@ + tziKey.daylightBias = tziReg.daylightBias; + + if (uprv_memcmp((char *)&tziKey, (char*)&tziReg, sizeof(tziKey)) == 0) { +- const UChar* icuTZ = NULL; +- if (errorCode != 0) { +- icuTZ = ures_getStringByKey(winTZ, ISOcode, &len, &status); +- } +- if (errorCode==0 || icuTZ==NULL) { +- /* fallback to default "001" and reset status */ +- status = U_ZERO_ERROR; ++ const UChar* icuTZ; ++ if (NewerThanWindows2000 == 0) { + icuTZ = ures_getStringByKey(winTZ, "001", &len, &status); ++ } else if (NewerThanWindows2000 == 1) { ++ icuTZ = NULL; ++ if (errorCode != 0) { ++ icuTZ = ures_getStringByKey(winTZ, ISOcode, &len, &status); ++ } ++ if (errorCode==0 || icuTZ==NULL) { ++ /* fallback to default "001" and reset status */ ++ status = U_ZERO_ERROR; ++ icuTZ = ures_getStringByKey(winTZ, "001", &len, &status); ++ } + } + + if (U_SUCCESS(status)) { +@@ -336,12 +385,17 @@ + * the current time zone information) + */ + if (idFound || tmpid[0] == 0) { +- /* if icuTZ has more than one city, take only the first (i.e. terminate icuTZ at first space) */ +- int index=0; +- while (! (*icuTZ == '\0' || *icuTZ ==' ')) { +- tmpid[index++]=(char)(*icuTZ++); /* safe to assume 'char' is ASCII compatible on windows */ ++ if (NewerThanWindows2000 == 0) { ++ uprv_memset(tmpid, 0, sizeof(tmpid)); ++ u_austrncpy(tmpid, icuTZ, len); ++ } else if (NewerThanWindows2000 == 1) { ++ /* if icuTZ has more than one city, take only the first (i.e. terminate icuTZ at first space) */ ++ int index=0; ++ while (! (*icuTZ == '\0' || *icuTZ ==' ')) { ++ tmpid[index++]=(char)(*icuTZ++); /* safe to assume 'char' is ASCII compatible on windows */ ++ } ++ tmpid[index]='\0'; + } +- tmpid[index]='\0'; + } + } + } +@@ -364,7 +418,7 @@ + } + + ures_close(bundle); +- ++ + return icuid; + } + diff --git a/Build/source/libs/icu/icu-51.1-PATCHES/patch-08-avoid-rebuild b/Build/source/libs/icu/icu-51.1-PATCHES/patch-08-avoid-rebuild new file mode 100644 index 00000000000..d7e31b6220f --- /dev/null +++ b/Build/source/libs/icu/icu-51.1-PATCHES/patch-08-avoid-rebuild @@ -0,0 +1,79 @@ + Avoid to run pkgdata again and again. + +diff -ur -x config.guess -x config.sub -x install-sh icu-51.1.orig/source/data/Makefile.in icu-51.1/source/data/Makefile.in +--- icu-51.1.orig/source/data/Makefile.in 2013-03-05 23:18:12.000000000 +0100 ++++ icu-51.1/source/data/Makefile.in 2013-03-07 12:57:26.000000000 +0100 +@@ -109,7 +109,7 @@ + .PHONY : all all-local all-recursive install install-local install-files \ + install-recursive clean clean-local clean-recursive distclean \ + distclean-local distclean-recursive dist dist-local dist-recursive \ +-check check-local check-recursive build-local clean-resindex build-dir icudata.jar \ ++check check-local check-recursive clean-resindex icudata.jar \ + check-exhaustive + + ## Clear suffix list +@@ -139,6 +139,7 @@ + -test -z *.map || $(RMV) *.map + + clean-local: cleanpackage cleanfiles clean-map ++ $(RMV) build-dir* build-local packagedata uni-core-data + + cleanfiles: + test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES) +@@ -185,6 +186,7 @@ + endif + else + $(INSTALL_DATA) $(ICUDATA_SOURCE_ARCHIVE) $(OUTDIR) ++ echo timestamp > $@ + endif + + ## Install ICU data. +@@ -430,6 +432,7 @@ + ifneq ($(INCLUDE_UNI_CORE_DATA),) + MISC_FILES_LIST+=$(UNI_CORE_DATA) + build-local: uni-core-data ++ echo timestamp > $@ + endif + + ##################################################### +@@ -440,6 +443,7 @@ + + ifeq ($(ICUDATA_SOURCE_ARCHIVE),) + build-local: build-dir $(SO_VERSION_DATA) $(ALL_FILES) $(PKGDATA_LIST) $(OS390LIST) ++ echo timestamp > $@ + $(PKGDATA_LIST): $(SRCLISTDEPS) + @echo "generating $@ (list of data files)" + @-$(RMV) $@ +@@ -457,6 +461,7 @@ + done; + else + build-local: build-dir $(SO_VERSION_DATA) $(PKGDATA_LIST) $(OS390LIST) ++ echo timestamp > $@ + $(PKGDATA_LIST): $(SRCLISTDEPS) $(ICUDATA_SOURCE_ARCHIVE) + ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES) + @echo "Unpacking $(ICUDATA_SOURCE_ARCHIVE) and generating $@ (list of data files)" +@@ -471,6 +476,8 @@ + $(BUILD_DIRS): build-dir + + build-dir: ++ @-$(RMV) $@ ++ echo timestamp > $@.tmp + @list='$(BUILD_DIRS)'; \ + for dir in $$list; do \ + if ! test -d $$dir; then \ +@@ -478,6 +485,7 @@ + $(MKINSTALLDIRS) $(BUILD_DIRS); \ + fi; \ + done ++ mv $@.tmp $@ + + # The | is an order-only prerequisite. This helps when the -j option is used, + # and we don't want the files to be built before the directories are built. +@@ -778,6 +786,7 @@ + # when updating the Unicode data. + uni-core-data: build-dir $(UNI_CORE_TARGET_DATA) + @echo Unicode .icu files built to $(BUILDDIR) ++ echo timestamp > $@ + + # Build the ICU4J icudata.jar. + # Command line: diff --git a/Build/source/libs/icu/icu-51.1-PATCHES/patch-12-mingw b/Build/source/libs/icu/icu-51.1-PATCHES/patch-12-mingw new file mode 100644 index 00000000000..803d9bbe1b8 --- /dev/null +++ b/Build/source/libs/icu/icu-51.1-PATCHES/patch-12-mingw @@ -0,0 +1,64 @@ + We don't want this for TeX Live cross compilation. + +diff -ur -x config.guess -x config.sub -x install-sh icu-51.1.orig/source/config/mh-mingw icu-51.1/source/config/mh-mingw +--- icu-51.1.orig/source/config/mh-mingw 2013-03-05 23:12:44.000000000 +0100 ++++ icu-51.1/source/config/mh-mingw 2013-03-07 13:02:23.000000000 +0100 +@@ -59,27 +59,9 @@ + ## Non-shared intermediate object suffix + STATIC_O = ao + +-ifeq ($(ENABLE_SHARED),YES) +-SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR) +-else +-SO_TARGET_VERSION_SUFFIX = +-endif +- +-# Static library prefix and file extension +-LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX) +-A = a +- + ## An import library is needed for z/OS and MSVC + IMPORT_LIB_EXT = .lib + +-LIBPREFIX= +- +-# Change the stubnames so that poorly working FAT disks and installation programs can work. +-# This is also for backwards compatibility. +-DATA_STUBNAME = dt +-I18N_STUBNAME = in +-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) +- + # The #M# is used to delete lines for icu-config + # Current full path directory. + #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS +diff -ur -x config.guess -x config.sub -x install-sh icu-51.1.orig/source/config/mh-mingw64 icu-51.1/source/config/mh-mingw64 +--- icu-51.1.orig/source/config/mh-mingw64 2013-03-05 23:12:44.000000000 +0100 ++++ icu-51.1/source/config/mh-mingw64 2013-03-07 13:02:23.000000000 +0100 +@@ -59,27 +59,9 @@ + ## Non-shared intermediate object suffix + STATIC_O = ao + +-ifeq ($(ENABLE_SHARED),YES) +-SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR) +-else +-SO_TARGET_VERSION_SUFFIX = +-endif +- +-# Static library prefix and file extension +-LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX) +-A = a +- + ## An import library is needed for z/OS and MSVC + IMPORT_LIB_EXT = .lib + +-LIBPREFIX= +- +-# Change the stubnames so that poorly working FAT disks and installation programs can work. +-# This is also for backwards compatibility. +-DATA_STUBNAME = dt +-I18N_STUBNAME = in +-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) +- + # The #M# is used to delete lines for icu-config + # Current full path directory. + #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS diff --git a/Build/source/libs/icu/icu-51.1-PATCHES/patch-13-STATIC_PREFIX b/Build/source/libs/icu/icu-51.1-PATCHES/patch-13-STATIC_PREFIX new file mode 100644 index 00000000000..41840f0be53 --- /dev/null +++ b/Build/source/libs/icu/icu-51.1-PATCHES/patch-13-STATIC_PREFIX @@ -0,0 +1,31 @@ +diff -ur -x config.guess -x config.sub -x install-sh icu-51.1.orig/source/config/Makefile.inc.in icu-51.1/source/config/Makefile.inc.in +--- icu-51.1.orig/source/config/Makefile.inc.in 2013-03-05 23:12:44.000000000 +0100 ++++ icu-51.1/source/config/Makefile.inc.in 2013-03-07 13:04:07.000000000 +0100 +@@ -44,7 +44,7 @@ + LIBICU = lib$(ICUPREFIX) + + # Static library prefix and file extension +-STATIC_PREFIX = s ++STATIC_PREFIX = + LIBSICU = lib$(STATIC_PREFIX)$(ICUPREFIX) + A = a + +diff -ur -x config.guess -x config.sub -x install-sh icu-51.1.orig/source/icudefs.mk.in icu-51.1/source/icudefs.mk.in +--- icu-51.1.orig/source/icudefs.mk.in 2013-03-05 23:18:34.000000000 +0100 ++++ icu-51.1/source/icudefs.mk.in 2013-03-07 13:04:07.000000000 +0100 +@@ -207,13 +207,13 @@ + + ## If we can't use the shared libraries, use the static libraries + ifneq ($(ENABLE_SHARED),YES) +-STATIC_PREFIX_WHEN_USED = s ++STATIC_PREFIX_WHEN_USED = + else + STATIC_PREFIX_WHEN_USED = + endif + + # Static library prefix and file extension +-STATIC_PREFIX = s ++STATIC_PREFIX = + LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX) + A = a + SOBJ = $(SO) |