13d04c30dSArrigo Marchioridiff -ru misc/icu/source/common/putil.c misc/build/icu/source/common/putil.c 23d04c30dSArrigo Marchiori--- misc/icu/source/common/putil.c 2009-07-01 20:50:38.000000000 +0200 33d04c30dSArrigo Marchiori+++ misc/build/icu/source/common/putil.c 2024-06-14 21:17:04.184218726 +0200 43d04c30dSArrigo Marchiori@@ -52,7 +52,7 @@ 53d04c30dSArrigo Marchiori Poorly upgraded Solaris machines can't have this defined. 63d04c30dSArrigo Marchiori Cleanly installed Solaris can use this #define. 73d04c30dSArrigo Marchiori */ 83d04c30dSArrigo Marchiori-#if !defined(_XOPEN_SOURCE_EXTENDED) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ >= 199901L) 93d04c30dSArrigo Marchiori+#if !defined(_XOPEN_SOURCE_EXTENDED) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) 103d04c30dSArrigo Marchiori #define _XOPEN_SOURCE_EXTENDED 1 113d04c30dSArrigo Marchiori #endif 123d04c30dSArrigo Marchiori 133d04c30dSArrigo Marchioridiff -ru misc/icu/source/common/uloc.c misc/build/icu/source/common/uloc.c 143d04c30dSArrigo Marchiori--- misc/icu/source/common/uloc.c 2009-07-01 20:50:38.000000000 +0200 153d04c30dSArrigo Marchiori+++ misc/build/icu/source/common/uloc.c 2024-06-14 21:25:59.612644465 +0200 163d04c30dSArrigo Marchiori@@ -1736,7 +1736,7 @@ 173d04c30dSArrigo Marchiori int32_t variantLen = _deleteVariant(variant, uprv_min(variantSize, (nameCapacity-len)), variantToCompare, n); 183d04c30dSArrigo Marchiori len -= variantLen; 193d04c30dSArrigo Marchiori if (variantLen > 0) { 203d04c30dSArrigo Marchiori- if (name[len-1] == '_') { /* delete trailing '_' */ 213d04c30dSArrigo Marchiori+ if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */ 223d04c30dSArrigo Marchiori --len; 233d04c30dSArrigo Marchiori } 243d04c30dSArrigo Marchiori addKeyword = VARIANT_MAP[j].keyword; 253d04c30dSArrigo Marchiori@@ -1744,7 +1744,7 @@ 263d04c30dSArrigo Marchiori break; 273d04c30dSArrigo Marchiori } 283d04c30dSArrigo Marchiori } 293d04c30dSArrigo Marchiori- if (name[len-1] == '_') { /* delete trailing '_' */ 303d04c30dSArrigo Marchiori+ if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */ 313d04c30dSArrigo Marchiori --len; 323d04c30dSArrigo Marchiori } 333d04c30dSArrigo Marchiori } 343d04c30dSArrigo Marchioridiff -ru misc/icu/source/config/mh-bsd-gcc misc/build/icu/source/config/mh-bsd-gcc 353d04c30dSArrigo Marchiori--- misc/icu/source/config/mh-bsd-gcc 2009-07-01 20:50:48.000000000 +0200 363d04c30dSArrigo Marchiori+++ misc/build/icu/source/config/mh-bsd-gcc 2024-06-14 21:16:18.187059931 +0200 373d04c30dSArrigo Marchiori@@ -18,8 +18,12 @@ 383d04c30dSArrigo Marchiori 393d04c30dSArrigo Marchiori ## Compiler switch to embed a runtime search path 403d04c30dSArrigo Marchiori LD_RPATH= 413d04c30dSArrigo Marchiori-LD_RPATH_PRE= -Wl,-rpath, 423d04c30dSArrigo Marchiori+LD_RPATH_PRE= -Wl,-z,origin -Wl,-rpath, 433d04c30dSArrigo Marchiori 443d04c30dSArrigo Marchiori+## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH 453d04c30dSArrigo Marchiori+## (incl. the C++ runtime libs potentially found in the URE lib dir): 463d04c30dSArrigo Marchiori+ENABLE_RPATH=YES 473d04c30dSArrigo Marchiori+RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib' 483d04c30dSArrigo Marchiori ## Compiler switch to embed a library name 493d04c30dSArrigo Marchiori LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) 503d04c30dSArrigo Marchiori 513d04c30dSArrigo Marchioridiff -ru misc/icu/source/config/mh-darwin misc/build/icu/source/config/mh-darwin 523d04c30dSArrigo Marchiori--- misc/icu/source/config/mh-darwin 2009-07-01 20:50:48.000000000 +0200 533d04c30dSArrigo Marchiori+++ misc/build/icu/source/config/mh-darwin 2024-06-14 21:19:02.155170814 +0200 543d04c30dSArrigo Marchiori@@ -25,7 +25,7 @@ 553d04c30dSArrigo Marchiori SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS) 563d04c30dSArrigo Marchiori 573d04c30dSArrigo Marchiori ## Compiler switches to embed a library name and version information 583d04c30dSArrigo Marchiori-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) 593d04c30dSArrigo Marchiori+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name @executable_path/$(notdir $(FINAL_SO_TARGET)) 603d04c30dSArrigo Marchiori 613d04c30dSArrigo Marchiori ## Compiler switch to embed a runtime search path 623d04c30dSArrigo Marchiori LD_RPATH= 633d04c30dSArrigo Marchiori@@ -41,10 +41,6 @@ 643d04c30dSArrigo Marchiori ## Non-shared intermediate object suffix 653d04c30dSArrigo Marchiori STATIC_O = ao 663d04c30dSArrigo Marchiori 673d04c30dSArrigo Marchiori-## Override Versioned target for a shared library. 683d04c30dSArrigo Marchiori-FINAL_SO_TARGET= $(basename $(SO_TARGET)).$(SO_TARGET_VERSION).$(SO) 693d04c30dSArrigo Marchiori-MIDDLE_SO_TARGET= $(basename $(SO_TARGET)).$(SO_TARGET_VERSION_MAJOR).$(SO) 703d04c30dSArrigo Marchiori- 713d04c30dSArrigo Marchiori ## Compilation rules 723d04c30dSArrigo Marchiori %.$(STATIC_O): $(srcdir)/%.c 733d04c30dSArrigo Marchiori $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< 743d04c30dSArrigo Marchiori@@ -76,15 +72,9 @@ 753d04c30dSArrigo Marchiori 763d04c30dSArrigo Marchiori ## Versioned libraries rules 773d04c30dSArrigo Marchiori 783d04c30dSArrigo Marchiori-%.$(SO_TARGET_VERSION_MAJOR).$(SO): %.$(SO_TARGET_VERSION).$(SO) 793d04c30dSArrigo Marchiori+%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) 803d04c30dSArrigo Marchiori $(RM) $@ && ln -s ${<F} $@ 813d04c30dSArrigo Marchiori-%.$(SO): %.$(SO_TARGET_VERSION_MAJOR).$(SO) 823d04c30dSArrigo Marchiori- $(RM) $@ && ln -s ${*F}.$(SO_TARGET_VERSION).$(SO) $@ 833d04c30dSArrigo Marchiori- 843d04c30dSArrigo Marchiori-# tzcode option 853d04c30dSArrigo Marchiori-TZORIG_EXTRA_CFLAGS=-DSTD_INSPIRED 863d04c30dSArrigo Marchiori- 873d04c30dSArrigo Marchiori-# genren opts 883d04c30dSArrigo Marchiori-GENREN_PL_OPTS=-x Mach-O -n '-g' -p '| c++filt' 893d04c30dSArrigo Marchiori+%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) 903d04c30dSArrigo Marchiori+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ 913d04c30dSArrigo Marchiori 923d04c30dSArrigo Marchiori ## End Darwin-specific setup 933d04c30dSArrigo Marchioridiff -ru misc/icu/source/config/mh-linux misc/build/icu/source/config/mh-linux 943d04c30dSArrigo Marchiori--- misc/icu/source/config/mh-linux 2009-07-01 20:50:48.000000000 +0200 953d04c30dSArrigo Marchiori+++ misc/build/icu/source/config/mh-linux 2024-06-14 21:19:31.827909846 +0200 963d04c30dSArrigo Marchiori@@ -20,6 +20,11 @@ 973d04c30dSArrigo Marchiori LD_RPATH= 983d04c30dSArrigo Marchiori LD_RPATH_PRE = -Wl,-rpath, 993d04c30dSArrigo Marchiori 1003d04c30dSArrigo Marchiori+## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH 1013d04c30dSArrigo Marchiori+## (incl. the C++ runtime libs potentially found in the URE lib dir): 1023d04c30dSArrigo Marchiori+ENABLE_RPATH=YES 1033d04c30dSArrigo Marchiori+RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib' 1043d04c30dSArrigo Marchiori+ 1053d04c30dSArrigo Marchiori ## These are the library specific LDFLAGS 1063d04c30dSArrigo Marchiori LDFLAGSICUDT=-nodefaultlibs -nostdlib 1073d04c30dSArrigo Marchiori 1083d04c30dSArrigo Marchioridiff -ru misc/icu/source/config/mh-mingw misc/build/icu/source/config/mh-mingw 1093d04c30dSArrigo Marchiori--- misc/icu/source/config/mh-mingw 2009-07-01 20:50:48.000000000 +0200 1103d04c30dSArrigo Marchiori+++ misc/build/icu/source/config/mh-mingw 2024-06-14 21:20:44.741721341 +0200 1113d04c30dSArrigo Marchiori@@ -76,6 +76,8 @@ 1123d04c30dSArrigo Marchiori # Current full path directory for use in source code in a -D compiler option. 1133d04c30dSArrigo Marchiori #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS 1143d04c30dSArrigo Marchiori CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell 1153d04c30dSArrigo Marchiori+SRCDIR_DEPEND=$(shell cd $(SRCDIR) && pwd) 1163d04c30dSArrigo Marchiori+DATAFILEPATHS_DEPEND=$(foreach p,$(DATAFILEPATHS),$(shell cd $(dir $(p)) && pwd)/$(notdir $(p))) 1173d04c30dSArrigo Marchiori 1183d04c30dSArrigo Marchiori ## Compilation rules 1193d04c30dSArrigo Marchiori %.$(STATIC_O): $(srcdir)/%.c 1203d04c30dSArrigo Marchioridiff -ru misc/icu/source/config/mh-solaris misc/build/icu/source/config/mh-solaris 1213d04c30dSArrigo Marchiori--- misc/icu/source/config/mh-solaris 2009-07-01 20:50:48.000000000 +0200 1223d04c30dSArrigo Marchiori+++ misc/build/icu/source/config/mh-solaris 2024-06-14 21:22:01.599625394 +0200 1233d04c30dSArrigo Marchiori@@ -18,17 +18,21 @@ 1243d04c30dSArrigo Marchiori 1253d04c30dSArrigo Marchiori ## Commands to link 1263d04c30dSArrigo Marchiori ## For Sun Workshop, use CC to link to bring in C++ runtime 1273d04c30dSArrigo Marchiori-LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) 1283d04c30dSArrigo Marchiori-LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) 1293d04c30dSArrigo Marchiori+LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) -norunpath 1303d04c30dSArrigo Marchiori+LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -norunpath 1313d04c30dSArrigo Marchiori 1323d04c30dSArrigo Marchiori ## Commands to make a shared library 1333d04c30dSArrigo Marchiori SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -G 1343d04c30dSArrigo Marchiori-SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -G 1353d04c30dSArrigo Marchiori+SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -G -norunpath 1363d04c30dSArrigo Marchiori 1373d04c30dSArrigo Marchiori ## Compiler switch to embed a runtime search path 1383d04c30dSArrigo Marchiori LD_RPATH= -R 1393d04c30dSArrigo Marchiori LD_RPATH_PRE= 1403d04c30dSArrigo Marchiori 1413d04c30dSArrigo Marchiori+## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH 1423d04c30dSArrigo Marchiori+ENABLE_RPATH=YES 1433d04c30dSArrigo Marchiori+RPATHLDFLAGS=${LD_RPATH}'$$ORIGIN' 1443d04c30dSArrigo Marchiori+ 1453d04c30dSArrigo Marchiori #LIBRARY_PATH_PREFIX=/usr/lib/lwp: 1463d04c30dSArrigo Marchiori 1473d04c30dSArrigo Marchiori ## Compiler switch to embed a library name 1483d04c30dSArrigo Marchioridiff -ru misc/icu/source/layout/ArabicShaping.cpp misc/build/icu/source/layout/ArabicShaping.cpp 1493d04c30dSArrigo Marchiori--- misc/icu/source/layout/ArabicShaping.cpp 2009-07-01 20:51:24.000000000 +0200 1503d04c30dSArrigo Marchiori+++ misc/build/icu/source/layout/ArabicShaping.cpp 2024-06-14 21:23:05.557119301 +0200 1513d04c30dSArrigo Marchiori@@ -79,7 +79,6 @@ 1523d04c30dSArrigo Marchiori #define markFeatureMask 0x00040000UL 1533d04c30dSArrigo Marchiori #define mkmkFeatureMask 0x00020000UL 1543d04c30dSArrigo Marchiori 1553d04c30dSArrigo Marchiori-#define NO_FEATURES 0 1563d04c30dSArrigo Marchiori #define ISOL_FEATURES (isolFeatureMask | ligaFeatureMask | msetFeatureMask | markFeatureMask | ccmpFeatureMask | rligFeatureMask | caltFeatureMask | dligFeatureMask | cswhFeatureMask | cursFeatureMask | kernFeatureMask | mkmkFeatureMask) 1573d04c30dSArrigo Marchiori 1583d04c30dSArrigo Marchiori #define SHAPE_MASK 0xF0000000UL 1593d04c30dSArrigo Marchiori@@ -174,11 +173,7 @@ 1603d04c30dSArrigo Marchiori LEUnicode c = chars[in]; 1613d04c30dSArrigo Marchiori ShapeType t = getShapeType(c); 1623d04c30dSArrigo Marchiori 1633d04c30dSArrigo Marchiori- if (t == ST_NOSHAPE_NONE) { 1643d04c30dSArrigo Marchiori- glyphStorage.setAuxData(out, NO_FEATURES, success); 1653d04c30dSArrigo Marchiori- } else { 1663d04c30dSArrigo Marchiori- glyphStorage.setAuxData(out, ISOL_FEATURES, success); 1673d04c30dSArrigo Marchiori- } 1683d04c30dSArrigo Marchiori+ glyphStorage.setAuxData(out, ISOL_FEATURES, success); 1693d04c30dSArrigo Marchiori 1703d04c30dSArrigo Marchiori if ((t & MASK_TRANSPARENT) != 0) { 1713d04c30dSArrigo Marchiori continue; 1723d04c30dSArrigo Marchioridiff -ru misc/icu/source/tools/genuca/genuca.cpp misc/build/icu/source/tools/genuca/genuca.cpp 1733d04c30dSArrigo Marchiori--- misc/icu/source/tools/genuca/genuca.cpp 2009-07-01 20:50:40.000000000 +0200 1743d04c30dSArrigo Marchiori+++ misc/build/icu/source/tools/genuca/genuca.cpp 2024-06-14 21:27:57.031211233 +0200 1753d04c30dSArrigo Marchiori@@ -395,7 +395,7 @@ 1763d04c30dSArrigo Marchiori copyright, status); 1773d04c30dSArrigo Marchiori 1783d04c30dSArrigo Marchiori if(U_FAILURE(*status)) { 1793d04c30dSArrigo Marchiori- fprintf(stderr, "Error: unable to create %s"INVC_DATA_NAME", error %s\n", outputDir, u_errorName(*status)); 1803d04c30dSArrigo Marchiori+ fprintf(stderr, "Error: unable to create %s" INVC_DATA_NAME ", error %s\n", outputDir, u_errorName(*status)); 1813d04c30dSArrigo Marchiori return; 1823d04c30dSArrigo Marchiori } 1833d04c30dSArrigo Marchiori 1843d04c30dSArrigo Marchiori@@ -757,7 +757,7 @@ 1853d04c30dSArrigo Marchiori copyright, status); 1863d04c30dSArrigo Marchiori 1873d04c30dSArrigo Marchiori if(U_FAILURE(*status)) { 1883d04c30dSArrigo Marchiori- fprintf(stderr, "Error: unable to create %s"UCA_DATA_NAME", error %s\n", outputDir, u_errorName(*status)); 1893d04c30dSArrigo Marchiori+ fprintf(stderr, "Error: unable to create %s" UCA_DATA_NAME ", error %s\n", outputDir, u_errorName(*status)); 1903d04c30dSArrigo Marchiori return; 1913d04c30dSArrigo Marchiori } 1923d04c30dSArrigo Marchiori 1933d04c30dSArrigo Marchiori@@ -904,9 +904,9 @@ 1943d04c30dSArrigo Marchiori {0x20000, 0x2A6D6, UCOL_SPECIAL_FLAG | (CJK_IMPLICIT_TAG << 24) }, //6 CJK_IMPLICIT_TAG, /* 0x20000-0x2A6D6*/ 1953d04c30dSArrigo Marchiori {0x2F800, 0x2FA1D, UCOL_SPECIAL_FLAG | (CJK_IMPLICIT_TAG << 24) }, //7 CJK_IMPLICIT_TAG, /* 0x2F800-0x2FA1D*/ 1963d04c30dSArrigo Marchiori #endif 1973d04c30dSArrigo Marchiori- {0xAC00, 0xD7B0, UCOL_SPECIAL_FLAG | (HANGUL_SYLLABLE_TAG << 24) }, //0 HANGUL_SYLLABLE_TAG,/* AC00-D7AF*/ 1983d04c30dSArrigo Marchiori+ {0xAC00, 0xD7B0, static_cast<int32_t>(UCOL_SPECIAL_FLAG | (HANGUL_SYLLABLE_TAG << 24)) }, //0 HANGUL_SYLLABLE_TAG,/* AC00-D7AF*/ 1993d04c30dSArrigo Marchiori //{0xD800, 0xDC00, UCOL_SPECIAL_FLAG | (LEAD_SURROGATE_TAG << 24) }, //1 LEAD_SURROGATE_TAG, /* D800-DBFF*/ 2003d04c30dSArrigo Marchiori- {0xDC00, 0xE000, UCOL_SPECIAL_FLAG | (TRAIL_SURROGATE_TAG << 24) }, //2 TRAIL_SURROGATE DC00-DFFF 2013d04c30dSArrigo Marchiori+ {0xDC00, 0xE000, static_cast<int32_t>(UCOL_SPECIAL_FLAG | (TRAIL_SURROGATE_TAG << 24)) }, //2 TRAIL_SURROGATE DC00-DFFF 2023d04c30dSArrigo Marchiori // Now directly handled in the collation code by the swapCJK function. 2033d04c30dSArrigo Marchiori //{0x3400, 0x4DB6, UCOL_SPECIAL_FLAG | (CJK_IMPLICIT_TAG << 24) }, //3 CJK_IMPLICIT_TAG, /* 0x3400-0x4DB5*/ 2043d04c30dSArrigo Marchiori //{0x4E00, 0x9FA6, UCOL_SPECIAL_FLAG | (CJK_IMPLICIT_TAG << 24) }, //4 CJK_IMPLICIT_TAG, /* 0x4E00-0x9FA5*/ 2053d04c30dSArrigo Marchiori 206*92209e56SArrigo Marchiori--- misc/icu/source/configure 2009-07-01 14:51:26.000000000 -0400 207*92209e56SArrigo Marchiori+++ misc/build/icu/source/configure 2024-10-19 16:35:02.000000000 -0400 208*92209e56SArrigo Marchiori@@ -7061,8 +7061,10 @@ 209*92209e56SArrigo Marchiori # Check for potential -arch flags. It is not universal unless 210*92209e56SArrigo Marchiori # there are some -arch flags. Note that *ppc* also matches 211*92209e56SArrigo Marchiori # ppc64. This check is also rather less than ideal. 212*92209e56SArrigo Marchiori+ echo "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" 213*92209e56SArrigo Marchiori case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #( 214*92209e56SArrigo Marchiori- *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;; 215*92209e56SArrigo Marchiori+ *-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=no;; 216*92209e56SArrigo Marchiori+ *-arch*ppc*) ac_cv_c_bigendian=yes;; 217*92209e56SArrigo Marchiori esac 218*92209e56SArrigo Marchiori else 219*92209e56SArrigo Marchiori $as_echo "$as_me: failed program was:" >&5 220*92209e56SArrigo Marchiori--- misc/icu/source/i18n/uspoof.cpp 2009-07-01 14:50:10.000000000 -0400 221*92209e56SArrigo Marchiori+++ misc/build/icu/source/i18n/uspoof.cpp 2024-10-19 16:36:44.000000000 -0400 222*92209e56SArrigo Marchiori@@ -366,7 +366,7 @@ 223*92209e56SArrigo Marchiori // u_strToUTF8() in preflight mode is an easy way to do it. 224*92209e56SArrigo Marchiori U_ASSERT(position16 <= len16); 225*92209e56SArrigo Marchiori u_strToUTF8(NULL, 0, position, text16, position16, status); 226*92209e56SArrigo Marchiori- if (position > 0) { 227*92209e56SArrigo Marchiori+ if (position) { 228*92209e56SArrigo Marchiori // position is the required buffer length from u_strToUTF8, which includes 229*92209e56SArrigo Marchiori // space for a terminating NULL, which we don't want, hence the -1. 230*92209e56SArrigo Marchiori *position -= 1; 231