summaryrefslogtreecommitdiff
path: root/icu
diff options
context:
space:
mode:
authorMartin Hosken <martin_hosken@sil.org>2011-03-04 19:55:17 +0700
committerMartin Hosken <martin_hosken@sil.org>2011-03-10 22:39:00 +0700
commit945c9208f1b9434e92f95a8412f4fa643aacfdcd (patch)
tree12ac592ea5e1ab9cbfc301a7d3fbf0c8b89454d9 /icu
parentd9acb375a875936e1c4f75b08cde9a8cc763e7e5 (diff)
Upgrade to ICU 4.6
Diffstat (limited to 'icu')
-rw-r--r--icu/icu4c-aix.patch65
-rw-r--r--icu/icu4c.8320.freeserif.crash.patch9
-rwxr-xr-xicu/icuversion.mk4
-rw-r--r--icu/makefile.mk11
4 files changed, 31 insertions, 58 deletions
diff --git a/icu/icu4c-aix.patch b/icu/icu4c-aix.patch
index fa43e8563588..39eaccb6dbbe 100644
--- a/icu/icu4c-aix.patch
+++ b/icu/icu4c-aix.patch
@@ -1,8 +1,8 @@
--- misc/icu/source/config/mh-aix-gcc 2009-01-15 01:46:10.000000000 -0600
+++ misc/build/icu/source/config/mh-aix-gcc 2010-06-24 20:58:16.000000000 -0500
-@@ -1,85 +1,49 @@
+@@ -1,10 +1,7 @@
## -*-makefile-*-
--## Copyright (c) 2003-2007 IBM, Ken Foskey, and others. All rights reserved.
+-## Copyright (c) 2003-2009 IBM, Ken Foskey, and others. All rights reserved.
-##
-## Aix-specific setup (for gcc)
-##
@@ -12,6 +12,10 @@
+## Copyright (c) 1999-2006, International Business Machines Corporation and
+## others. All Rights Reserved.
+ # Certain files don't compile in -ansi mode (e.g. umutex.c, toolutil.c, and cdatatst.c)
+ CFLAGS += -D_ALL_SOURCE
+@@ 11,17 +8,13 @@
+
## Commands to generate dependency files
-GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS)
-GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS)
@@ -24,9 +28,12 @@
-LINK.c= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS)
-LINK.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS)
-
+-## Shared library options
+-LD_SOOPTIONS= -Wl,-bsymbolic
+-
-## Commands to make a shared library
--SHLIB.c= $(AIX_PREDELETE) $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-bexpall
--SHLIB.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-bexpall
+-SHLIB.c= $(AIX_PREDELETE) $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-bexpall $(LD_OPTIONS)
+-SHLIB.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-bexpall $(LD_OPTIONS)
+## Flags for position independent code
+SHAREDLIBCFLAGS = -fPIC
+SHAREDLIBCXXFLAGS = -fPIC
@@ -35,6 +42,7 @@
+## Additional flags when building libraries and with threads
+THREADSCPPFLAGS = -D_REENTRANT -D_THREAD_SAFE
+LIBCPPFLAGS =
+@@ -28,40 +21,24 @@
## Compiler switch to embed a runtime search path
-LD_RPATH= -I
@@ -69,6 +77,7 @@
-FINAL_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO)
-MIDDLE_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO)
-SHARED_OBJECT = $(notdir $(FINAL_SO_TARGET:.$(SO)=.$(SOBJ)))
+-SHARED_OBJECT_NO_VERSION = $(basename $(SO_TARGET)).$(SOBJ)
-
-# The following is for Makefile.inc's use.
-ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
@@ -88,6 +97,7 @@
+ #LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET))
+#SH# # We can't depend on MIDDLE_SO_TARGET being set.
+#SH# LD_SONAME=
+@@ -68,29 +44,8 @@
## Shared object suffix
-SOBJ= so
@@ -103,9 +113,13 @@
-
-## Build archive from shared object
-%.a : %.so
-- $(AR) $(ARFLAGS) $@ $<
+- ln -f $< $(SHARED_OBJECT_NO_VERSION)
+- $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION)
+- rm -f $(SHARED_OBJECT_NO_VERSION)
-$(LIBDIR)/%.a : %.so
-- $(AR) $(ARFLAGS) $@ $<
+- ln -f $< $(SHARED_OBJECT_NO_VERSION)
+- $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION)
+- rm -f $(SHARED_OBJECT_NO_VERSION)
-
-## Build import list from export list
-%.e : %.exp
@@ -115,41 +129,4 @@
## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
-@@ -107,16 +71,19 @@
- [ -s $@ ] || rm -f $@'
-
- ## Versioned libraries rules
--%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
-- $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@
--%.$(SO): %$(SO_TARGET_VERSION).$(SO)
-- $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@
-
-+%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
-+ $(RM) $@ && ln -s ${<F} $@
-+%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
-+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
-+
-+## Bind internal references
-
--## BIR - bind with internal references [so app data and icu data doesn't collide]
- # LDflags that pkgdata will use
--BIR_LDFLAGS= -Wl,-bE:$(NAME).map,-bnoexpall
-+BIR_LDFLAGS= -Wl,-Bsymbolic
-
- # Dependencies [i.e. map files] for the final library
--BIR_DEPS= $(NAME).map
-+BIR_DEPS=
-+
-+## End Linux-specific setup
-
---- misc/icu/source/tools/pkgdata/dllmode.c 2010-07-27 09:29:19.000000000 -0500
-+++ misc/build/icu/source/tools/pkgdata/dllmode.c 2010-07-27 09:29:48.000000000 -0500
-@@ -222,7 +222,7 @@
- "\t$(SHLIB.c) -o $@ $(OBJECTS) $(DLL_LDFLAGS)\n\n");
- #endif
-
--#ifdef U_AIX
-+#if 0
- T_FileStream_writeLine(makefile, "$(TARGETDIR)/$(FINAL_SO_TARGET): $(OBJECTS) $(LISTFILES) $(DLL_DEPS)\n"
- "\t$(SHLIB.c) -o $(FINAL_SO_TARGET:.$(SO)=.$(SOBJ)) $(OBJECTS) $(DLL_LDFLAGS)\n"
- "\t$(AR) $(ARFLAGS) $@ $(FINAL_SO_TARGET:.$(SO)=.$(SOBJ))\n"
+
diff --git a/icu/icu4c.8320.freeserif.crash.patch b/icu/icu4c.8320.freeserif.crash.patch
index 7e596c033744..0b94864ed56d 100644
--- a/icu/icu4c.8320.freeserif.crash.patch
+++ b/icu/icu4c.8320.freeserif.crash.patch
@@ -31,16 +31,17 @@
lookupSelectArray[lookupListIndex] |= featureMask;
lookupOrderArray[store++] = lookupListIndex;
}
-@@ -106,7 +113,7 @@
+@@ -121,8 +128,8 @@
LookupProcessor::LookupProcessor(const char *baseAddress,
Offset scriptListOffset, Offset featureListOffset, Offset lookupListOffset,
- LETag scriptTag, LETag languageTag, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool orderFeatures)
+ LETag scriptTag, LETag languageTag, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool orderFeatures,
+ LEErrorCode& success)
- : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL),
+ : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL), lookupSelectCount(0),
lookupOrderArray(NULL), lookupOrderCount(0)
{
const ScriptListTable *scriptListTable = NULL;
-@@ -146,6 +153,8 @@
+@@ -170,6 +177,8 @@
lookupSelectArray[i] = 0;
}
@@ -49,7 +50,7 @@
le_int32 count, order = 0;
le_int32 featureReferences = 0;
const FeatureTable *featureTable = NULL;
-@@ -162,6 +171,10 @@
+@@ -186,6 +197,10 @@
le_uint16 featureIndex = SWAPW(langSysTable->featureIndexArray[feature]);
featureTable = featureListTable->getFeatureTable(featureIndex, &featureTag);
diff --git a/icu/icuversion.mk b/icu/icuversion.mk
index a170642b276c..7b1ed64ac381 100755
--- a/icu/icuversion.mk
+++ b/icu/icuversion.mk
@@ -27,7 +27,7 @@
# major
ICU_MAJOR*=4
# minor
-ICU_MINOR*=0
+ICU_MINOR*=6
# micro
-ICU_MICRO*=1
+ICU_MICRO*=0
diff --git a/icu/makefile.mk b/icu/makefile.mk
index dfe725231dd9..6b1937578434 100644
--- a/icu/makefile.mk
+++ b/icu/makefile.mk
@@ -37,22 +37,17 @@ TARGET=so_icu
.INCLUDE : icuversion.mk
-.IF "$(ICU_MICRO)"!="0"
-TARFILE_NAME=icu4c-$(ICU_MAJOR)_$(ICU_MINOR)_$(ICU_MICRO)-src
-TARFILE_MD5=2f6ecca935948f7db92d925d88d0d078
-.ELSE
-TARFILE_NAME=icu4c-$(ICU_MAJOR)_$(ICU_MINOR)-src
-TARFILE_MD5=
-.ENDIF
+TARFILE_NAME=icu4c-4_6-src
+TARFILE_MD5=43e56b71c407be5154de681eaa646a4a
TARFILE_ROOTDIR=icu
#icu4c.8320.freeserif.crash.patch, see
#http://bugs.icu-project.org/trac/ticket/8320 for crash with FreeSerif
PATCH_FILES=\
- ${TARFILE_NAME}.patch \
icu4c.8320.freeserif.crash.patch \
icu4c-aix.patch
+# ${TARFILE_NAME}.patch \
.IF "$(GUI)"=="UNX"