Update to 57.1

This commit is contained in:
Kalev Lember 2016-10-24 17:27:51 +02:00
parent 0dc6c2da67
commit 1fcee96b58
8 changed files with 233 additions and 315 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
/icu4c-4_8_1_1-src.tgz
/icu4c-49_1_2-src.tgz
/icu4c-50_1_2-src.tgz
/icu4c-57_1-src.tgz

View File

@ -1,36 +0,0 @@
Index: /icu/trunk/source/i18n/csrucode.cpp
===================================================================
--- orig.icu/source/i18n/csrucode.cpp (revision 34075)
+++ icu/source/i18n/csrucode.cpp (revision 34076)
@@ -1,5 +1,5 @@
/*
**********************************************************************
- * Copyright (C) 2005-2012, International Business Machines
+ * Copyright (C) 2005-2013, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
@@ -34,6 +34,7 @@
const uint8_t *input = textIn->fRawInput;
int32_t confidence = 0;
+ int32_t length = textIn->fRawLength;
- if (input[0] == 0xFE && input[1] == 0xFF) {
+ if (length >=2 && input[0] == 0xFE && input[1] == 0xFF) {
confidence = 100;
}
@@ -58,6 +59,7 @@
const uint8_t *input = textIn->fRawInput;
int32_t confidence = 0;
+ int32_t length = textIn->fRawLength;
- if (input[0] == 0xFF && input[1] == 0xFE && (input[2] != 0x00 || input[3] != 0x00)) {
+ if (length >= 4 && input[0] == 0xFF && input[1] == 0xFE && (input[2] != 0x00 || input[3] != 0x00)) {
confidence = 100;
}
@@ -82,5 +84,5 @@
int32_t confidence = 0;
- if (getChar(input, 0) == 0x0000FEFFUL) {
+ if (limit > 0 && getChar(input, 0) == 0x0000FEFFUL) {
hasBOM = TRUE;
}

View File

@ -1,209 +0,0 @@
diff --git a/source/config/Makefile.inc.in b/source/config/Makefile.inc.in
index c34de8b..1586907 100644
--- a/source/config/Makefile.inc.in
+++ b/source/config/Makefile.inc.in
@@ -41,7 +41,7 @@ UNICODE_VERSION = @UNICODE_VERSION@
# The prefix for ICU libraries, normally 'icu'
ICUPREFIX = icu
PACKAGE = @PACKAGE@
-LIBICU = lib$(ICUPREFIX)
+LIBICU = $(ICUPREFIX)
# Static library prefix and file extension
STATIC_PREFIX = s
@@ -95,7 +95,6 @@ LAYOUTEX_STUBNAME = lx
IO_STUBNAME = io
TOOLUTIL_STUBNAME = tu
CTESTFW_STUBNAME = test
-
### To link your application with ICU:
@@ -106,18 +105,19 @@ CTESTFW_STUBNAME = test
# - $(ICULIBS_LAYOUT) - ICU layout library.
# - $(ICULIBS_ICUIO) - ICU stdio equivalent library
-ICULIBS_COMMON = -l$(ICUPREFIX)uc$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_DATA = -l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_I18N = -l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_TOOLUTIL = -l$(ICUPREFIX)tu$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_CTESTFW = -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_ICUIO = -l$(ICUPREFIX)io$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_OBSOLETE = -l$(ICUPREFIX)obsolete$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_LAYOUT = -l$(ICUPREFIX)le$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_LAYOUTEX = -l$(ICUPREFIX)lx$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
+ICULIBS_COMMON = -l$(ICUPREFIX)uc$(ICULIBSUFFIX)
+ICULIBS_DATA = -l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_I18N = -l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_TOOLUTIL = -l$(ICUPREFIX)tu$(ICULIBSUFFIX)
+ICULIBS_CTESTFW = -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)
+ICULIBS_ICUIO = -l$(ICUPREFIX)io$(ICULIBSUFFIX)
+ICULIBS_OBSOLETE = -l$(ICUPREFIX)obsolete$(ICULIBSUFFIX)
+ICULIBS_LAYOUT = -l$(ICUPREFIX)le$(ICULIBSUFFIX)
+ICULIBS_LAYOUTEX = -l$(ICUPREFIX)lx$(ICULIBSUFFIX)
ICULIBS_BASE = $(LIBS) -L$(libdir)
# for icu-config to test with
+SO = dll
ICULIBS_COMMON_LIB_NAME = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}
ICULIBS_COMMON_LIB_NAME_A = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}
diff --git a/source/config/icu-config-bottom b/source/config/icu-config-bottom
index 0f0319a..ed86fff 100644
--- a/source/config/icu-config-bottom
+++ b/source/config/icu-config-bottom
@@ -3,7 +3,7 @@
## Copyright (c) 2002-2011, International Business Machines Corporation and
## others. All Rights Reserved.
-ICUUC_FILE="${libdir}/${ICULIBS_COMMON_LIB_NAME}"
+ICUUC_FILE="${bindir}/${ICULIBS_COMMON_LIB_NAME}"
ICUUC_FILE_A="${libdir}/${ICULIBS_COMMON_LIB_NAME_A}"
# echo ENABLE RPATH $ENABLE_RPATH and RPATHLDFLAGS=${RPATH_LDFLAGS}
diff --git a/source/config/icu.pc.in b/source/config/icu.pc.in
index 406b196..15a5c65 100644
--- a/source/config/icu.pc.in
+++ b/source/config/icu.pc.in
@@ -1,27 +1,27 @@
# Copyright (C) 2010, International Business Machines Corporation. All Rights Reserved.
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-#bindir = @bindir@
-libdir = @libdir@
-includedir = @includedir@
-baselibs = @LIBS@
-#datarootdir = @datarootdir@
-#datadir = @datadir@
-#sbindir = @sbindir@
-#mandir = @mandir@
-#sysconfdir = @sysconfdir@
-CFLAGS = @CFLAGS@
-#CXXFLAGS = @CXXFLAGS@
-DEFS = @DEFS@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+#bindir=@bindir@
+libdir=@libdir@
+includedir=@includedir@
+baselibs=@LIBS@
+#datarootdir=@datarootdir@
+#datadir=@datadir@
+#sbindir=@sbindir@
+#mandir=@mandir@
+#sysconfdir=@sysconfdir@
+CFLAGS=@CFLAGS@
+#CXXFLAGS=@CXXFLAGS@
+DEFS=@DEFS@
UNICODE_VERSION=@UNICODE_VERSION@
ICUPREFIX=icu
ICULIBSUFFIX=@ICULIBSUFFIX@
-LIBICU=lib${ICUPREFIX}
+LIBICU=${ICUPREFIX}
#SHAREDLIBCFLAGS=-fPIC
pkglibdir=${libdir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@
#pkgdatadir=${datadir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@
-ICUDATA_NAME = icudt@LIB_VERSION_MAJOR@@ICUDATA_CHAR@
+ICUDATA_NAME=icudata@LIB_VERSION_MAJOR@@ICUDATA_CHAR@
#ICUPKGDATA_DIR=@libdir@
#ICUDATA_DIR=${pkgdatadir}
ICUDESC=International Components for Unicode
diff --git a/source/config/mh-mingw b/source/config/mh-mingw
index 7ca4248..164d208 100644
--- a/source/config/mh-mingw
+++ b/source/config/mh-mingw
@@ -41,8 +41,8 @@ LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS)
LD_SOOPTIONS= -Wl,-Bsymbolic
## Commands to make a shared library
-SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(dir $@)$(notdir $(@:$(SO_TARGET_VERSION_MAJOR).$(SO)=))$(IMPORT_LIB_EXT)#M#
-SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(dir $@)$(notdir $(@:$(SO_TARGET_VERSION_MAJOR).$(SO)=))$(IMPORT_LIB_EXT)#M#
+SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(dir $@)$(LIBPREFIX)$(notdir $(@:$(SO_TARGET_VERSION_MAJOR).$(SO)=))$(IMPORT_LIB_EXT)#M#
+SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(dir $@)$(LIBPREFIX)$(notdir $(@:$(SO_TARGET_VERSION_MAJOR).$(SO)=))$(IMPORT_LIB_EXT)#M#
## Compiler switch to embed a runtime search path
LD_RPATH=
@@ -67,15 +67,11 @@ LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
A = a
## An import library is needed for z/OS and MSVC
-IMPORT_LIB_EXT = .lib
+IMPORT_LIB_EXT = .dll.a
-LIBPREFIX=
+#LIBPREFIX=
-# Change the stubnames so that poorly working FAT disks and installation programs can work.
-# This is also for backwards compatibility.
-DATA_STUBNAME = dt
-I18N_STUBNAME = in
-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
+LIBICU = $(ICUPREFIX)
# The #M# is used to delete lines for icu-config
# Current full path directory.
@@ -115,7 +111,7 @@ CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO)
MIDDLE_SO_TARGET=$(FINAL_SO_TARGET)
-FINAL_IMPORT_LIB = $(dir $(SO_TARGET))$(notdir $(basename $(SO_TARGET)))$(IMPORT_LIB_EXT)#M#
+FINAL_IMPORT_LIB = $(dir $(SO_TARGET))$(LIBPREFIX)$(notdir $(basename $(SO_TARGET)))$(IMPORT_LIB_EXT)#M#
IMPORT_LIB = $(FINAL_IMPORT_LIB)#M#
MIDDLE_IMPORT_LIB = $(FINAL_IMPORT_LIB)#M#
@@ -124,6 +120,9 @@ PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR)
#ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M#
#ICUPKGDATA_INSTALL_LIBDIR = $(shell cygpath -dma $(DESTDIR)$(libdir))#M#
+# The following is for Makefile.inc's use.
+ICULIBSUFFIX_VERSION =
+
## Versioned libraries rules
#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
# $(RM) $@ && cp ${<F} $@
@@ -139,5 +138,17 @@ GENCCODE_ASSEMBLY=-a gcc-cygwin
# These are needed to allow the pkgdata GNU make files to work
PKGDATA_DEFS = -DU_MAKE=\"$(MAKE)\"
+# Just the libs.
+ICULIBS_DT = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_UC = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_I18N = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_LE = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_LX = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_IO = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_CTESTFW = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_TOOLUTIL = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX)
+# Link commands to link to ICU libs
+LLIBDIR = -L$(LIBDIR)
+
## End Cygwin/MinGW specific setup
diff --git a/source/tools/toolutil/pkg_genc.c b/source/tools/toolutil/pkg_genc.c
index dc87188..913f8d4 100644
--- a/source/tools/toolutil/pkg_genc.c
+++ b/source/tools/toolutil/pkg_genc.c
@@ -150,6 +150,22 @@ static const struct AssemblyType {
".long ","",HEX_0X
},
+ {"gcc-mingw-x86",
+ ".globl _%s\n"
+ "\t.section .rdata,\"dr\"\n"
+ "\t.align 4\n"
+ "_%s:\n\n",
+
+ ".long ","",HEX_0X
+ },
+ {"gcc-mingw-x64",
+ ".globl %s\n"
+ "\t.section .rdata,\"dr\"\n"
+ "\t.align 16\n" /* Either align 8 bytes or 2^8 (256) bytes. 8 bytes is needed. */
+ "%s:\n\n",
+
+ ".long ","",HEX_0X
+ },
{"sun",
"\t.section \".rodata\"\n"
"\t.align 8\n"

View File

@ -1,15 +0,0 @@
--- icu/source/tools/toolutil/toolutil.cpp.orig 2012-02-11 00:08:41.443126312 +0100
+++ icu/source/tools/toolutil/toolutil.cpp 2012-02-11 00:09:22.265903655 +0100
@@ -40,9 +40,11 @@
# include <sys/types.h>
#endif
-/* In MinGW environment, io.h needs to be included for _mkdir() */
+/* In MinGW environment, io.h needs to be included for _mkdir() for
+ * the mingw.org toolchain and direct.h for the mingw-w64 toolchain */
#if U_PLATFORM == U_PF_MINGW
#include <io.h>
+#include <direct.h>
#endif
#include <errno.h>

View File

@ -1,27 +0,0 @@
--- icu/source/configure.in.orig 2012-02-10 22:49:57.096591442 +0100
+++ icu/source/configure.in 2012-02-10 22:50:53.066621409 +0100
@@ -629,6 +629,12 @@
ia64-*-hpux*)
GENCCODE_ASSEMBLY="-a aCC-ia64"
;;
+i686-*-mingw32)
+ GENCCODE_ASSEMBLY="-a gcc-mingw-x86"
+ ;;
+x86_64-*-mingw32)
+ GENCCODE_ASSEMBLY="-a gcc-mingw-x64"
+ ;;
esac
AC_SUBST(GENCCODE_ASSEMBLY)
--- icu/source/config/mh-mingw.orig 2012-02-11 00:25:43.637578250 +0100
+++ icu/source/config/mh-mingw 2012-02-11 00:29:08.051465305 +0100
@@ -132,9 +132,6 @@
# Environment variable to set a runtime search path
LDLIBRARYPATH_ENVVAR = PATH
-# The type of assembly to write for generating an object file
-GENCCODE_ASSEMBLY=-a gcc-cygwin
-
# These are needed to allow the pkgdata GNU make files to work
PKGDATA_DEFS = -DU_MAKE=\"$(MAKE)\"

222
icu4c-56_1-crossbuild.patch Normal file
View File

@ -0,0 +1,222 @@
--- icu/source/config/icu-config-bottom 2015-10-08 05:54:30.000000000 +0200
+++ icu/source/config/icu-config-bottom 2016-06-07 16:28:42.861210723 +0200
@@ -3,7 +3,7 @@
## Copyright (c) 2002-2013, International Business Machines Corporation and
## others. All Rights Reserved.
-ICUUC_FILE="${libdir}/${ICULIBS_COMMON_LIB_NAME}"
+ICUUC_FILE="${bindir}/${ICULIBS_COMMON_LIB_NAME}"
ICUUC_FILE_A="${libdir}/${ICULIBS_COMMON_LIB_NAME_A}"
# echo ENABLE RPATH $ENABLE_RPATH and RPATHLDFLAGS=${RPATH_LDFLAGS}
--- icu/source/config/icu.pc.in 2015-10-08 05:54:32.000000000 +0200
+++ icu/source/config/icu.pc.in 2016-06-07 16:28:42.861210723 +0200
@@ -1,30 +1,30 @@
# Copyright (C) 2010-2013, International Business Machines Corporation. All Rights Reserved.
# CFLAGS contains only anything end users should set
-CFLAGS = @UCONFIG_CFLAGS@
+CFLAGS=@UCONFIG_CFLAGS@
# CXXFLAGS contains only anything end users should set
-CXXFLAGS = @UCONFIG_CXXFLAGS@
+CXXFLAGS=@UCONFIG_CXXFLAGS@
# DEFS only contains those UCONFIG_CPPFLAGS which are not auto-set by platform.h
-DEFS = @UCONFIG_CPPFLAGS@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-#bindir = @bindir@
-libdir = @libdir@
-includedir = @includedir@
-baselibs = @LIBS@
-#datarootdir = @datarootdir@
-#datadir = @datadir@
-#sbindir = @sbindir@
-#mandir = @mandir@
-#sysconfdir = @sysconfdir@
+DEFS=@UCONFIG_CPPFLAGS@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+#bindir=@bindir@
+libdir=@libdir@
+includedir=@includedir@
+baselibs=@LIBS@
+#datarootdir=@datarootdir@
+#datadir=@datadir@
+#sbindir=@sbindir@
+#mandir=@mandir@
+#sysconfdir=@sysconfdir@
UNICODE_VERSION=@UNICODE_VERSION@
ICUPREFIX=icu
ICULIBSUFFIX=@ICULIBSUFFIX@
-LIBICU=lib${ICUPREFIX}
+LIBICU=${ICUPREFIX}
#SHAREDLIBCFLAGS=-fPIC
pkglibdir=${libdir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@
#pkgdatadir=${datadir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@
-ICUDATA_NAME = icudt@LIB_VERSION_MAJOR@@ICUDATA_CHAR@
+ICUDATA_NAME=icudata@LIB_VERSION_MAJOR@@ICUDATA_CHAR@
#ICUPKGDATA_DIR=@libdir@
#ICUDATA_DIR=${pkgdatadir}
ICUDESC=International Components for Unicode
--- icu/source/config/Makefile.inc.in 2015-10-08 05:54:32.000000000 +0200
+++ icu/source/config/Makefile.inc.in 2016-06-07 16:28:42.861210723 +0200
@@ -41,7 +41,7 @@
# The prefix for ICU libraries, normally 'icu'
ICUPREFIX = icu
PACKAGE = @PACKAGE@
-LIBICU = lib$(ICUPREFIX)
+LIBICU = $(ICUPREFIX)
# Static library prefix and file extension
STATIC_PREFIX = s
@@ -106,18 +106,19 @@
# - $(ICULIBS_LAYOUT) - ICU layout library.
# - $(ICULIBS_ICUIO) - ICU stdio equivalent library
-ICULIBS_COMMON = -l$(ICUPREFIX)uc$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_DATA = -l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_I18N = -l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_TOOLUTIL = -l$(ICUPREFIX)tu$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_CTESTFW = -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_ICUIO = -l$(ICUPREFIX)io$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_OBSOLETE = -l$(ICUPREFIX)obsolete$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_LAYOUT = -l$(ICUPREFIX)le$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_LAYOUTEX = -l$(ICUPREFIX)lx$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
+ICULIBS_COMMON = -l$(ICUPREFIX)uc$(ICULIBSUFFIX)
+ICULIBS_DATA = -l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_I18N = -l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_TOOLUTIL = -l$(ICUPREFIX)tu$(ICULIBSUFFIX)
+ICULIBS_CTESTFW = -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)
+ICULIBS_ICUIO = -l$(ICUPREFIX)io$(ICULIBSUFFIX)
+ICULIBS_OBSOLETE = -l$(ICUPREFIX)obsolete$(ICULIBSUFFIX)
+ICULIBS_LAYOUT = -l$(ICUPREFIX)le$(ICULIBSUFFIX)
+ICULIBS_LAYOUTEX = -l$(ICUPREFIX)lx$(ICULIBSUFFIX)
ICULIBS_BASE = -L$(libdir)
# for icu-config to test with
+SO = dll
ICULIBS_COMMON_LIB_NAME = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}
ICULIBS_COMMON_LIB_NAME_A = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}
--- icu/source/config/mh-mingw 2015-10-08 05:54:32.000000000 +0200
+++ icu/source/config/mh-mingw 2016-06-07 16:30:24.974945050 +0200
@@ -66,7 +66,7 @@
endif
# Static library prefix and file extension
-LIBSICU = lib$(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
+LIBSICU = lib$(LIBPREFIX)$(ICUPREFIX)
A = a
## An import library is needed for z/OS and MSVC
@@ -74,20 +74,13 @@
LIBPREFIX=
-# Change the stubnames so that poorly working FAT disks and installation programs can work.
-# This is also for backwards compatibility.
-DATA_STUBNAME = dt
-I18N_STUBNAME = in
-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
+LIBICU = $(ICUPREFIX)
#SH### copied from Makefile.inc
#SH## for icu-config to test with
#SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
#SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"
-#SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-#SH#ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-#SH#
#SH## ICULIBS is the set of libraries your application should link
#SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well.
#SH#ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
@@ -139,6 +132,9 @@
#ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M#
#ICUPKGDATA_INSTALL_LIBDIR = $(shell cygpath -dma $(DESTDIR)$(libdir))#M#
+# The following is for Makefile.inc's use.
+ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
+
## Versioned libraries rules
#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
# $(RM) $@ && cp ${<F} $@
@@ -154,5 +150,17 @@
# These are needed to allow the pkgdata GNU make files to work
PKGDATA_DEFS = -DU_MAKE=\"$(MAKE)\"
+# Just the libs.
+ICULIBS_DT = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_UC = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_I18N = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_LE = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_LX = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_IO = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_CTESTFW = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_TOOLUTIL = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX)
+# Link commands to link to ICU libs
+LLIBDIR = -L$(LIBDIR)
+
## End Cygwin/MinGW specific setup
--- icu/source/config/mh-mingw64 2015-10-08 05:54:30.000000000 +0200
+++ icu/source/config/mh-mingw64 2016-06-07 16:30:15.051165239 +0200
@@ -66,7 +66,7 @@
endif
# Static library prefix and file extension
-LIBSICU = lib$(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
+LIBSICU = lib$(LIBPREFIX)$(ICUPREFIX)
A = a
## An import library is needed for z/OS and MSVC
@@ -74,20 +74,13 @@
LIBPREFIX=
-# Change the stubnames so that poorly working FAT disks and installation programs can work.
-# This is also for backwards compatibility.
-DATA_STUBNAME = dt
-I18N_STUBNAME = in
-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
+LIBICU = $(ICUPREFIX)
#SH### copied from Makefile.inc
#SH## for icu-config to test with
#SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
#SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"
-#SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-#SH#ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-#SH#
#SH## ICULIBS is the set of libraries your application should link
#SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well.
#SH#ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
@@ -139,6 +132,9 @@
#ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M#
#ICUPKGDATA_INSTALL_LIBDIR = $(shell cygpath -dma $(DESTDIR)$(libdir))#M#
+# The following is for Makefile.inc's use.
+ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
+
## Versioned libraries rules
#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
# $(RM) $@ && cp ${<F} $@
@@ -154,5 +150,17 @@
# These are needed to allow the pkgdata GNU make files to work
PKGDATA_DEFS = -DU_MAKE=\"$(MAKE)\"
+# Just the libs.
+ICULIBS_DT = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_UC = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_I18N = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_LE = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_LX = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_IO = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_CTESTFW = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_TOOLUTIL = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX)
+# Link commands to link to ICU libs
+LLIBDIR = -L$(LIBDIR)
+
## End Cygwin64/MinGW64 specific setup

View File

@ -4,8 +4,8 @@
%global lib_version %(echo %{version} | cut -d \. -f 1)
Name: mingw-icu
Version: 50.1.2
Release: 6%{?dist}
Version: 57.1
Release: 1%{?dist}
Summary: MinGW compilation of International Components for Unicode Tools
License: MIT and UCD and Public Domain
@ -13,11 +13,11 @@ Group: Development/Libraries
URL: http://icu-project.org
Source0: http://download.icu-project.org/files/icu4c/%{version}/icu4c-%{underscore_version}-src.tgz
# Patch to fix the build from
# https://build.opensuse.org/package/show/windows:mingw:win32/mingw32-icu
Patch0: icu4c-56_1-crossbuild.patch
BuildArch: noarch
Patch0: icu4c-4_6_1-crossbuild.patch
Patch1: icu4c-4_6_1-use-correct-genccode-assembly-on-win32-and-win64.patch
Patch2: icu4c-4_6_1-mingw-w64-mkdir-compatibility.patch
Patch3: icu.10318.CVE-2013-2924_changeset_34076.patch
BuildRequires: mingw32-filesystem >= 95
BuildRequires: mingw32-gcc
@ -29,9 +29,6 @@ BuildRequires: mingw64-gcc
BuildRequires: mingw64-gcc-c++
BuildRequires: mingw64-binutils
BuildRequires: autoconf
%description
ICU is a set of C and C++ libraries that provides robust and
full-featured Unicode and locale support. The library provides calendar
@ -76,14 +73,6 @@ line, and sentence breaking, etc.
%setup -q -n icu
%patch0 -p1 -b .crossbuild
%patch1 -p1 -b .genccode
%patch2 -p1 -b .mingw-w64
%patch3 -p1 -b .CVE-2013-2924
# Needed for patch1
pushd source
autoconf --force
popd
%build
@ -111,20 +100,11 @@ popd
find $RPM_BUILD_ROOT -name "*.dll" -type l -delete
for i in $RPM_BUILD_ROOT%{mingw32_libdir}/*.dll ; \
do mv $i $RPM_BUILD_ROOT%{mingw32_bindir}/; done
for i in $RPM_BUILD_ROOT%{mingw64_libdir}/*.dll ; \
do mv $i $RPM_BUILD_ROOT%{mingw64_bindir}/; done
mv $RPM_BUILD_ROOT%{mingw32_bindir}/libicudata%{lib_version}.dll \
$RPM_BUILD_ROOT%{mingw32_bindir}/icudata%{lib_version}.dll
mv $RPM_BUILD_ROOT%{mingw64_bindir}/libicudata%{lib_version}.dll \
$RPM_BUILD_ROOT%{mingw64_bindir}/icudata%{lib_version}.dll
sed -i -e 's,default_ENABLE_RPATH=.*,default_ENABLE_RPATH="N",' -e 's,^SO=.*$,SO="dll",' $RPM_BUILD_ROOT%{mingw32_bindir}/icu-config
sed -i -e 's,default_ENABLE_RPATH=.*,default_ENABLE_RPATH="N",' -e 's,^SO=.*$,SO="dll",' $RPM_BUILD_ROOT%{mingw64_bindir}/icu-config
# remove unneded files
rm -fr $RPM_BUILD_ROOT%{mingw32_mandir}
rm -fr $RPM_BUILD_ROOT%{mingw64_mandir}
@ -137,7 +117,6 @@ rm -fr $RPM_BUILD_ROOT%{mingw32_libdir}/icu/pkgdata.inc
rm -fr $RPM_BUILD_ROOT%{mingw64_libdir}/icu/pkgdata.inc
# Win32
%files -n mingw32-icu
%doc license.html
@ -234,6 +213,9 @@ rm -fr $RPM_BUILD_ROOT%{mingw64_libdir}/icu/pkgdata.inc
%changelog
* Mon Oct 24 2016 Kalev Lember <klember@redhat.com> - 57.1-1
- Update to 57.1
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 50.1.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

View File

@ -1 +1 @@
beb98aa972219c9fcd9c8a71314943c9 icu4c-50_1_2-src.tgz
976734806026a4ef8bdd17937c8898b9 icu4c-57_1-src.tgz