| --- misc/icu/source/config/mh-bsd-gcc 2009-01-15 16:46:10.000000000 +0900 |
| +++ misc/build/icu/source/config/mh-bsd-gcc 2011-06-14 17:12:14.000000000 +0900 |
| @@ -18,7 +18,15 @@ |
| |
| ## Compiler switch to embed a runtime search path |
| LD_RPATH= |
| -LD_RPATH_PRE= -Wl,-rpath, |
| +LD_RPATH_PRE= -Wl,-z,origin -Wl,-rpath, |
| + |
| +## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH |
| +## (incl. the C++ runtime libs potentially found in the URE lib dir): |
| +ENABLE_RPATH=YES |
| +RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib' |
| + |
| +#SH# ENABLE_RPATH=YES |
| +#SH# RPATHLDFLAGS="${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib'" |
| |
| ## Compiler switch to embed a library name |
| LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) |
| |
| --- misc/icu/source/common/putil.c 2008-07-01 03:41:12.000000000 +0200 |
| +++ misc/build/icu/source/common/putil.c 2008-09-02 07:01:29.335795765 +0200 |
| @@ -52,7 +52,7 @@ |
| Poorly upgraded Solaris machines can't have this defined. |
| Cleanly installed Solaris can use this #define. |
| */ |
| -#if !defined(_XOPEN_SOURCE_EXTENDED) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ >= 199901L) |
| +#if !defined(_XOPEN_SOURCE_EXTENDED) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) |
| #define _XOPEN_SOURCE_EXTENDED 1 |
| #endif |
| |
| --- misc/icu/source/common/unicode/pwin32.h 2008-07-01 10:41:12.000000000 +0900 |
| +++ misc/build/icu/source/common/unicode/pwin32.h 2008-11-05 22:37:21.479250000 +0900 |
| @@ -32,6 +32,10 @@ |
| #define __STDC_CONSTANT_MACROS |
| #endif |
| |
| +#if defined(__MINGW32__) |
| +#define U_HAVE_INTTYPES_H 1 |
| +#endif |
| + |
| /* _MSC_VER is used to detect the Microsoft compiler. */ |
| #if defined(_MSC_VER) |
| #define U_INT64_IS_LONG_LONG 0 |
| --- misc/icu/source/config/mh-darwin Tue Jul 1 03:41:24 2008 |
| +++ misc/build/icu/source/config/mh-darwin Tue Jan 20 18:33:16 2009 |
| @@ -25,7 +25,7 @@ |
| SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS) |
| |
| ## Compiler switches to embed a library name and version information |
| -LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) |
| +LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name @executable_path/$(notdir $(FINAL_SO_TARGET)) |
| |
| ## Compiler switch to embed a runtime search path |
| LD_RPATH= |
| @@ -41,10 +41,6 @@ |
| ## Non-shared intermediate object suffix |
| STATIC_O = ao |
| |
| -## Override Versioned target for a shared library. |
| -FINAL_SO_TARGET= $(basename $(SO_TARGET)).$(SO_TARGET_VERSION).$(SO) |
| -MIDDLE_SO_TARGET= $(basename $(SO_TARGET)).$(SO_TARGET_VERSION_MAJOR).$(SO) |
| - |
| ## Compilation rules |
| %.$(STATIC_O): $(srcdir)/%.c |
| $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< |
| @@ -76,15 +72,9 @@ |
| |
| ## Versioned libraries rules |
| |
| -%.$(SO_TARGET_VERSION_MAJOR).$(SO): %.$(SO_TARGET_VERSION).$(SO) |
| +%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) |
| $(RM) $@ && ln -s ${<F} $@ |
| -%.$(SO): %.$(SO_TARGET_VERSION_MAJOR).$(SO) |
| - $(RM) $@ && ln -s ${*F}.$(SO_TARGET_VERSION).$(SO) $@ |
| - |
| -# tzcode option |
| -TZORIG_EXTRA_CFLAGS=-DSTD_INSPIRED |
| - |
| -# genren opts |
| -GENREN_PL_OPTS=-x Mach-O -n '-g' -p '| c++filt' |
| +%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) |
| + $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ |
| |
| ## End Darwin-specific setup |
| --- misc/icu/source/config/mh-linux 2007-12-12 19:57:36.000000000 +0100 |
| +++ misc/build/icu/source/config/mh-linux 2008-05-21 18:59:13.000000000 +0200 |
| @@ -20,6 +20,14 @@ |
| LD_RPATH= |
| LD_RPATH_PRE = -Wl,-rpath, |
| |
| +## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH |
| +## (incl. the C++ runtime libs potentially found in the URE lib dir): |
| +ENABLE_RPATH=YES |
| +RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib' |
| + |
| +#SH# ENABLE_RPATH=YES |
| +#SH# RPATHLDFLAGS="${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib'" |
| + |
| ## These are the library specific LDFLAGS |
| LDFLAGSICUDT=-nodefaultlibs -nostdlib |
| |
| --- misc/icu/source/config/mh-mingw 2008-07-01 10:41:24.000000000 +0900 |
| +++ misc/build/icu/source/config/mh-mingw 2008-11-06 00:18:30.261250000 +0900 |
| @@ -72,10 +72,12 @@ |
| # The #M# is used to delete lines for icu-config |
| # Current full path directory. |
| #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS |
| -CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd | tail --bytes=+3))#M# for Cygwin shell |
| +CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell |
| # Current full path directory for use in source code in a -D compiler option. |
| #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS |
| -CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd | tail --bytes=+3))#M# for Cygwin shell |
| +CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell |
| +SRCDIR_DEPEND=$(shell cd $(SRCDIR) && pwd) |
| +DATAFILEPATHS_DEPEND=$(foreach p,$(DATAFILEPATHS),$(shell cd $(dir $(p)) && pwd)/$(notdir $(p))) |
| |
| ## Compilation rules |
| %.$(STATIC_O): $(srcdir)/%.c |
| --- misc/icu/source/config/mh-solaris 2008-07-01 03:41:26.000000000 +0200 |
| +++ misc/build/icu/source/config/mh-solaris 2009-02-17 11:54:45.105890123 +0100 |
| @@ -18,17 +18,24 @@ |
| |
| ## Commands to link |
| ## For Sun Workshop, use CC to link to bring in C++ runtime |
| -LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) |
| -LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) |
| +LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) -norunpath |
| +LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -norunpath |
| |
| ## Commands to make a shared library |
| SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -G |
| -SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -G |
| +SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -G -norunpath |
| |
| ## Compiler switch to embed a runtime search path |
| LD_RPATH= -R |
| LD_RPATH_PRE= |
| |
| +## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH |
| +ENABLE_RPATH=YES |
| +RPATHLDFLAGS=${LD_RPATH}'$$ORIGIN' |
| + |
| +#SH# ENABLE_RPATH=YES |
| +#SH# RPATHLDFLAGS="${LD_RPATH}'$$ORIGIN'" |
| + |
| #LIBRARY_PATH_PREFIX=/usr/lib/lwp: |
| |
| ## Compiler switch to embed a library name |
| --- misc/icu/source/layout/ArabicShaping.cpp 2008-07-01 03:42:04.000000000 +0200 |
| +++ misc/build/icu/source/layout/ArabicShaping.cpp 2009-02-17 12:04:34.264869737 +0100 |
| @@ -79,7 +79,6 @@ |
| #define markFeatureMask 0x00040000UL |
| #define mkmkFeatureMask 0x00020000UL |
| |
| -#define NO_FEATURES 0 |
| #define ISOL_FEATURES (isolFeatureMask | ligaFeatureMask | msetFeatureMask | markFeatureMask | ccmpFeatureMask | rligFeatureMask | caltFeatureMask | dligFeatureMask | cswhFeatureMask | cursFeatureMask | kernFeatureMask | mkmkFeatureMask) |
| |
| #define SHAPE_MASK 0xF0000000UL |
| @@ -174,11 +173,7 @@ |
| LEUnicode c = chars[in]; |
| ShapeType t = getShapeType(c); |
| |
| - if (t == ST_NOSHAPE_NONE) { |
| - glyphStorage.setAuxData(out, NO_FEATURES, success); |
| - } else { |
| - glyphStorage.setAuxData(out, ISOL_FEATURES, success); |
| - } |
| + glyphStorage.setAuxData(out, ISOL_FEATURES, success); |
| |
| if ((t & MASK_TRANSPARENT) != 0) { |
| continue; |
| --- misc/icu/source/layoutex/ParagraphLayout.cpp 2008-07-01 03:42:02.000000000 +0200 |
| +++ misc/build/icu/source/layoutex/ParagraphLayout.cpp 2008-12-01 19:32:58.000000000 +0100 |
| @@ -868,7 +868,7 @@ |
| |
| return nullLanguageCode; |
| } |
| -#elif |
| +#else |
| |
| // TODO - dummy implementation for right now... |
| le_int32 ParagraphLayout::getLanguageCode(const Locale *locale) |
| --- misc/icu/source/tools/pkgdata/cmnmode.c 2008-07-01 10:41:20.000000000 +0900 |
| +++ misc/build/icu/source/tools/pkgdata/cmnmode.c 2008-11-07 00:03:32.393500000 +0900 |
| @@ -69,7 +69,11 @@ |
| sprintf(tmp, "# List file for gencmn:\n" |
| "CMNLIST=%s%s%s_common.lst\n\n", |
| o->tmpDir, |
| +#ifdef __MINGW32__ |
| + U_FILE_ALT_SEP_STRING, |
| +#else |
| U_FILE_SEP_STRING, |
| +#endif |
| o->shortName); |
| T_FileStream_writeLine(makefile, tmp); |
| |
| --- misc/icu/source/tools/pkgdata/dllmode.c 2008-07-01 10:41:20.000000000 +0900 |
| +++ misc/build/icu/source/tools/pkgdata/dllmode.c 2008-11-07 06:08:36.016750000 +0900 |
| @@ -139,7 +139,11 @@ |
| sprintf(tmp, "# List file for gencmn:\n" |
| "CMNLIST=%s%s$(NAME)_dll.lst\n\n", |
| o->tmpDir, |
| +#ifdef __MINGW32__ |
| + U_FILE_ALT_SEP_STRING); |
| +#else |
| U_FILE_SEP_STRING); |
| +#endif |
| T_FileStream_writeLine(makefile, tmp); |
| |
| if(o->hadStdin == FALSE) { /* shortcut */ |
| --- misc/icu/source/tools/pkgdata/make.c 2008-07-01 10:41:20.000000000 +0900 |
| +++ misc/build/icu/source/tools/pkgdata/make.c 2008-11-06 23:23:04.096625000 +0900 |
| @@ -313,8 +313,13 @@ |
| uprv_strcpy(cfile+uprv_strlen(cfile)-uprv_strlen(objSuffix), ".c" ); /* replace .o with .c */ |
| |
| /* Make up parents.. */ |
| +#ifdef __MINGW32__ |
| + parentPath = uprv_malloc(1+uprv_strlen(baseName) + uprv_strlen("$(SRCDIR_DEPEND)/")); |
| + sprintf(parentPath, "$(SRCDIR_DEPEND)/%s", baseName); |
| +#else |
| parentPath = uprv_malloc(1+uprv_strlen(baseName) + uprv_strlen("$(SRCDIR)/")); |
| sprintf(parentPath, "$(SRCDIR)/%s", baseName); |
| +#endif |
| parents = pkg_appendToList(parents, NULL, parentPath); |
| |
| /* make up commands.. */ |
| @@ -379,7 +384,11 @@ |
| T_FileStream_writeLine(f, "\n"); |
| T_FileStream_writeLine(f, "BASE_OBJECTS=$(NAME)_dat.o\n"); |
| T_FileStream_writeLine(f, "\n"); |
| +#ifdef __MINGW32__ |
| + T_FileStream_writeLine(f, "$(TEMP_DIR)/$(NAME).dat: $(CMNLIST) $(DATAFILEPATHS_DEPEND)\n"); |
| +#else |
| T_FileStream_writeLine(f, "$(TEMP_DIR)/$(NAME).dat: $(CMNLIST) $(DATAFILEPATHS)\n"); |
| +#endif |
| T_FileStream_writeLine(f, "\t$(INVOKE) $(ICUPKG) -t$(ICUDATA_CHAR) -c -s $(SRCDIR) -a $(CMNLIST) new $(TEMP_DIR)/$(CNAME).dat\n"); |
| T_FileStream_writeLine(f, "\n"); |
| T_FileStream_writeLine(f, "$(TEMP_DIR)/$(NAME)_dat.o : $(TEMP_DIR)/$(NAME).dat\n"); |
| --- misc/icu/source/tools/pkgdata/pkgdata.c 2008-07-01 10:41:20.000000000 +0900 |
| +++ misc/build/icu/source/tools/pkgdata/pkgdata.c 2008-11-07 05:59:27.110500000 +0900 |
| @@ -594,7 +594,11 @@ |
| exit(U_ILLEGAL_ARGUMENT_ERROR); |
| } |
| uprv_strcpy(tmp, o->srcDir); |
| +#ifdef __MINGW32__ |
| + uprv_strcat(tmp, o->srcDir[uprv_strlen(o->srcDir)-1]==U_FILE_SEP_CHAR?"":U_FILE_ALT_SEP_STRING); |
| +#else |
| uprv_strcat(tmp, o->srcDir[uprv_strlen(o->srcDir)-1]==U_FILE_SEP_CHAR?"":U_FILE_SEP_STRING); |
| +#endif |
| uprv_strcat(tmp, s); |
| o->filePaths = pkg_appendToList(o->filePaths, &tail2, uprv_strdup(tmp)); |
| linePtr = lineNext; |
| --- misc/icu/source/tools/pkgdata/sttcmode.c 2008-07-01 10:41:20.000000000 +0900 |
| +++ misc/build/icu/source/tools/pkgdata/sttcmode.c 2008-11-07 00:30:05.690375000 +0900 |
| @@ -172,7 +172,11 @@ |
| sprintf(tmp, "# List file for gencmn:\n" |
| "CMNLIST=%s%s$(NAME)_static.lst\n\n", |
| o->tmpDir, |
| +#ifdef __MINGW32__ |
| + U_FILE_ALT_SEP_STRING); |
| +#else |
| U_FILE_SEP_STRING); |
| +#endif |
| T_FileStream_writeLine(makefile, tmp); |
| |
| if(o->hadStdin == FALSE) { /* shortcut */ |
| --- misc/icu/source/common/uloc.c 2009-01-15 08:45:56.000000000 +0100 |
| +++ misc/build/icu/source/common/uloc.c 2009-12-14 10:51:38.000000000 +0100 |
| @@ -1736,7 +1736,7 @@ |
| int32_t variantLen = _deleteVariant(variant, uprv_min(variantSize, (nameCapacity-len)), variantToCompare, n); |
| len -= variantLen; |
| if (variantLen > 0) { |
| - if (name[len-1] == '_') { /* delete trailing '_' */ |
| + if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */ |
| --len; |
| } |
| addKeyword = VARIANT_MAP[j].keyword; |
| @@ -1744,7 +1744,7 @@ |
| break; |
| } |
| } |
| - if (name[len-1] == '_') { /* delete trailing '_' */ |
| + if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */ |
| --len; |
| } |
| } |
| --- misc/icu/source/tools/genuca/genuca.cpp 2009-01-15 08:46:02.000000000 +0100 |
| +++ misc/build/icu/source/tools/genuca/genuca.cpp 2013-01-30 07:45:01.000000000 +0100 |
| @@ -395,7 +395,7 @@ |
| copyright, status); |
| |
| if(U_FAILURE(*status)) { |
| - fprintf(stderr, "Error: unable to create %s"INVC_DATA_NAME", error %s\n", outputDir, u_errorName(*status)); |
| + fprintf(stderr, "Error: unable to create %s" INVC_DATA_NAME ", error %s\n", outputDir, u_errorName(*status)); |
| return; |
| } |
| |
| @@ -757,7 +757,7 @@ |
| copyright, status); |
| |
| if(U_FAILURE(*status)) { |
| - fprintf(stderr, "Error: unable to create %s"UCA_DATA_NAME", error %s\n", outputDir, u_errorName(*status)); |
| + fprintf(stderr, "Error: unable to create %s" UCA_DATA_NAME ", error %s\n", outputDir, u_errorName(*status)); |
| return; |
| } |
| |
| @@ -904,9 +904,9 @@ |
| {0x20000, 0x2A6D6, UCOL_SPECIAL_FLAG | (CJK_IMPLICIT_TAG << 24) }, //6 CJK_IMPLICIT_TAG, /* 0x20000-0x2A6D6*/ |
| {0x2F800, 0x2FA1D, UCOL_SPECIAL_FLAG | (CJK_IMPLICIT_TAG << 24) }, //7 CJK_IMPLICIT_TAG, /* 0x2F800-0x2FA1D*/ |
| #endif |
| - {0xAC00, 0xD7B0, UCOL_SPECIAL_FLAG | (HANGUL_SYLLABLE_TAG << 24) }, //0 HANGUL_SYLLABLE_TAG,/* AC00-D7AF*/ |
| + {0xAC00, 0xD7B0, static_cast<int32_t>(UCOL_SPECIAL_FLAG | (HANGUL_SYLLABLE_TAG << 24)) }, //0 HANGUL_SYLLABLE_TAG,/* AC00-D7AF*/ |
| //{0xD800, 0xDC00, UCOL_SPECIAL_FLAG | (LEAD_SURROGATE_TAG << 24) }, //1 LEAD_SURROGATE_TAG, /* D800-DBFF*/ |
| - {0xDC00, 0xE000, UCOL_SPECIAL_FLAG | (TRAIL_SURROGATE_TAG << 24) }, //2 TRAIL_SURROGATE DC00-DFFF |
| + {0xDC00, 0xE000, static_cast<int32_t>(UCOL_SPECIAL_FLAG | (TRAIL_SURROGATE_TAG << 24)) }, //2 TRAIL_SURROGATE DC00-DFFF |
| // Now directly handled in the collation code by the swapCJK function. |
| //{0x3400, 0x4DB6, UCOL_SPECIAL_FLAG | (CJK_IMPLICIT_TAG << 24) }, //3 CJK_IMPLICIT_TAG, /* 0x3400-0x4DB5*/ |
| //{0x4E00, 0x9FA6, UCOL_SPECIAL_FLAG | (CJK_IMPLICIT_TAG << 24) }, //4 CJK_IMPLICIT_TAG, /* 0x4E00-0x9FA5*/ |