1--- icu/source/common/putil.c 2009-01-15 08:45:58.000000000 +0100 2+++ icu/source/common/putil.c 2009-04-30 15:09:55.000000000 +0200 3@@ -70,6 +70,7 @@ 4 5 /* Include standard headers. */ 6 #include <stdio.h> 7+#include <stdint.h> 8 #include <stdlib.h> 9 #include <string.h> 10 #include <math.h> 11--- icu/source/common/ucnv.c 2009-01-15 08:45:56.000000000 +0100 12+++ icu/source/common/ucnv.c 2009-04-30 15:10:23.000000000 +0200 13@@ -37,6 +37,8 @@ 14 #include "ucnv_cnv.h" 15 #include "ucnv_bld.h" 16 17+#include <stdint.h> 18+ 19 /* size of intermediate and preflighting buffers in ucnv_convert() */ 20 #define CHUNK_SIZE 1024 21 22--- icu/source/common/unistr_cnv.cpp 2009-01-15 08:45:56.000000000 +0100 23+++ icu/source/common/unistr_cnv.cpp 2009-04-30 15:11:27.000000000 +0200 24@@ -30,6 +30,8 @@ 25 #include "ustr_cnv.h" 26 #include "ustr_imp.h" 27 28+#include <stdint.h> 29+ 30 U_NAMESPACE_BEGIN 31 32 //======================================== 33--- icu/source/config/mh-mingw 2009-01-15 08:46:10.000000000 +0100 34+++ icu/source/config/mh-mingw 2009-04-30 15:08:37.000000000 +0200 35@@ -1,10 +1,8 @@ 36 ## -*-makefile-*- 37-## Cygwin/MinGW specific setup 38-## Copyright (c) 2001-2007, International Business Machines Corporation and 39+## Mingw-specific setup 40+## Copyright (c) 2001-2008, International Business Machines Corporation and 41 ## others. All Rights Reserved. 42 43-# TODO: Finish the rest of this port. This platform port is incomplete. 44- 45 # We install sbin tools into the same bin directory because 46 # pkgdata needs some of the tools in sbin, and we can't always depend on 47 # icu-config working on Windows. 48@@ -29,8 +27,7 @@ 49 SHAREDLIBCPPFLAGS = -DPIC 50 51 ## Additional flags when building libraries and with threads 52-THREADSCFLAGS = -mthreads 53-THREADSCXXFLAGS = -mthreads 54+THREADSCPPFLAGS = -D_REENTRANT 55 LIBCPPFLAGS = 56 57 # Commands to link. Link with C++ in case static libraries are used. 58@@ -38,44 +35,32 @@ 59 #LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) 60 61 ## Commands to make a shared library 62-SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared 63-SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared 64+# $(subst) won't work in shell script. #M# at the end omits these 65+# lines from the shell script (Make only) 66+SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--enable-auto-import -Wl,--out-implib=$(subst $(SO_TARGET_VERSION_MAJOR),,$(subst $(ICUPREFIX),$(LIBPREFIX)$(ICUPREFIX),$@)).$(A)#M# 67+SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,--enable-auto-import -Wl,--out-implib=$(subst $(SO_TARGET_VERSION_MAJOR),,$(subst $(ICUPREFIX),$(LIBPREFIX)$(ICUPREFIX),$@)).$(A)#M# 68+ 69 70 ## Compiler switch to embed a runtime search path 71 LD_RPATH= 72 LD_RPATH_PRE= -Wl,-rpath, 73 74 ## Compiler switch to embed a library name 75-LD_SONAME = 76+LD_SONAME = 77 78 ## Shared object suffix 79 SO = dll 80 ## Non-shared intermediate object suffix 81 STATIC_O = ao 82-SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR) 83- 84-# Static library prefix and file extension 85-LIBSICU = $(STATIC_PREFIX)$(ICUPREFIX) 86-A = lib 87- 88-## An import library is needed for z/OS and MSVC 89-#IMPORT_LIB_EXT = .lib 90- 91-LIBPREFIX= 92+LIBICU = $(ICUPREFIX) 93+LIBSICU = $(LIBPREFIX)$(ICUPREFIX) 94+## To have an import library is better on Windows 95+IMPORT_LIB_EXT = .dll.a 96 97 # Change the stubnames so that poorly working FAT disks and installation programs can work. 98 # This is also for backwards compatibility. 99 DATA_STUBNAME = dt 100 I18N_STUBNAME = in 101-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX) 102- 103-# The #M# is used to delete lines for icu-config 104-# Current full path directory. 105-#CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS 106-CURR_FULL_DIR=$(subst \,/,$(shell cmd /c cd | tail --bytes=+3))#M# for Cygwin shell 107-# Current full path directory for use in source code in a -D compiler option. 108-#CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS 109-CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd | tail --bytes=+3))#M# for Cygwin shell 110 111 ## Compilation rules 112 %.$(STATIC_O): $(srcdir)/%.c 113@@ -103,29 +88,57 @@ 114 ## Versioned target for a shared library. 115 ## Since symbolic links don't work the same way on Windows, 116 ## we only use the version major number. 117-#FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO) 118 FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO) 119 MIDDLE_SO_TARGET=$(FINAL_SO_TARGET) 120+SHARED_OBJECT = $(FINAL_SO_TARGET) 121+ 122+IMPORT_LIB = $(subst $(ICUPREFIX),$(LIBPREFIX)$(ICUPREFIX),$(basename $(SO_TARGET))).$(SO).$(A)#M# 123+MIDDLE_IMPORT_LIB = $(IMPORT_LIB)#M# 124+FINAL_IMPORT_LIB = $(IMPORT_LIB)#M# 125 126-## Special pkgdata information that is needed 127-PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR) 128-#ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M# 129-#ICUPKGDATA_INSTALL_LIBDIR = $(shell cygpath -dma $(DESTDIR)$(libdir))#M# 130+# The following is for Makefile.inc's use. 131+ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR) 132 133 ## Versioned libraries rules 134-#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO) 135-# $(RM) $@ && cp ${<F} $@ 136 %.$(SO): %$(SO_TARGET_VERSION_MAJOR).$(SO) 137+# $(RM) $(subst $(ICUPREFIX),lib$(ICUPREFIX),$@).$(A) && ln -s $(LIBPREFIX)${<F}.$(A) $(subst $(ICUPREFIX),$(LIBPREFIX)$(ICUPREFIX),$@).$(A) 138 @echo -n 139 140+## Install libraries as executable 141+INSTALL-L=$(INSTALL_PROGRAM) 142+ 143+## Bind internal references 144+ 145+# LDflags that pkgdata will use 146+BIR_LDFLAGS= -Wl,-Bsymbolic 147+ 148+# Dependencies [i.e. map files] for the final library 149+BIR_DEPS= 150+ 151 # Environment variable to set a runtime search path 152 LDLIBRARYPATH_ENVVAR = PATH 153 154 # The type of assembly to write for generating an object file 155-GENCCODE_ASSEMBLY=-a gcc-cygwin 156+#GENCCODE_ASSEMBLY=-a gcc-cygwin 157+ 158+# put this here again so it gets cyguc... 159+ 160+#SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}uc${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}" 161+ 162+# for icu-config 163 164-# These are needed to allow the pkgdata GNU make files to work 165-PKGDATA_DEFS = -DU_MAKE=\"$(MAKE)\" 166+#SH### copied from Makefile.inc 167+#SH#ICULIBS_COMMON="-l${LIBICU}uc${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 168+#SH#ICULIBS_DATA="-l${LIBICU}${DATA_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 169+#SH#ICULIBS_I18N="-l${LIBICU}${I18N_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 170+#SH#ICULIBS_TOOLUTIL="-l${LIBICU}tu${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 171+#SH#ICULIBS_CTESTFW="-l${LIBICU}ctestfw${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 172+#SH#ICULIBS_ICUIO="-l${LIBICU}io${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 173+#SH#ICULIBS_OBSOLETE="-l${LIBICU}obsolete${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 174+#SH#ICULIBS_LAYOUT="-l${LIBICU}le${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 175+#SH#ICULIBS_LAYOUTEX="-l${LIBICU}lx${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}" 176+#SH#ICULIBS_BASE="${LIBS} -L${libdir}" 177+#SH#ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA}" 178 179-## End Cygwin/MinGW specific setup 180+## End Mingw-specific setup 181 182