summaryrefslogtreecommitdiff
path: root/icu/icu4c-4_0_1-src.patch
diff options
context:
space:
mode:
Diffstat (limited to 'icu/icu4c-4_0_1-src.patch')
-rw-r--r--icu/icu4c-4_0_1-src.patch247
1 files changed, 247 insertions, 0 deletions
diff --git a/icu/icu4c-4_0_1-src.patch b/icu/icu4c-4_0_1-src.patch
new file mode 100644
index 000000000000..172d6244634c
--- /dev/null
+++ b/icu/icu4c-4_0_1-src.patch
@@ -0,0 +1,247 @@
+--- 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 */