ICU: upgrade to 50.1.

Upgrade ICU to 50.1.
All unnecessary patches of the previous version are dropped.

[YOCTO #3557]

(From OE-Core rev: d9e6b45a0abd15b24941d8d04142cd79399424ef)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chen Qi
2012-12-18 13:58:36 +08:00
committed by Richard Purdie
parent c21f80b294
commit 9596495e09
10 changed files with 63 additions and 315 deletions

View File

@@ -1,19 +0,0 @@
Upstream-Status: pending
Fix parallel builds
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Index: source/data/Makefile.in
===================================================================
--- source.orig/data/Makefile.in 2011-09-02 02:03:37.000000000 +0400
+++ source/data/Makefile.in 2011-09-02 02:06:26.000000000 +0400
@@ -351,8 +351,8 @@
endif
-build-dir: $(BUILD_DIRS)
-$(BUILD_DIRS):
+$(MAINBUILDDIR) $(BUILD_DIRS): build-dir
+build-dir:
-$(MKINSTALLDIRS) $(BUILD_DIRS)

View File

@@ -1,19 +0,0 @@
Fixes an error which prevents compilation
Upstream-Status: Pending
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Index: source/layoutex/ParagraphLayout.cpp
===================================================================
--- source.orig/layoutex/ParagraphLayout.cpp 2009-06-30 11:48:47.000000000 +0100
+++ source/layoutex/ParagraphLayout.cpp 2009-06-30 11:49:06.000000000 +0100
@@ -798,7 +798,7 @@
return nullLanguageCode;
}
-#elif
+#else
// TODO - dummy implementation for right now...
le_int32 ParagraphLayout::getLanguageCode(const Locale *locale)

View File

@@ -1,43 +0,0 @@
Upstream-Status: Inappropriate [version]
ICU-3.6 has no pkgconfig, so I add it here.
But ICU has had pkgconfig support since 4.6.
So this patch is inappropriate to upstream.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Index: configure.in
=============================================================
--- a/configure.in
+++ b/configure.in
@@ -1057,4 +1057,7 @@ echo "This may cause ICU to fail to build. Please make sure that GNU make"
echo "is in your PATH so that this configure script can detect its location."
fi
+AC_CONFIG_FILES([icu.pc])
+AC_OUTPUT
+
$as_unset _CXX_CXXSUFFIX
Index: icu.pc.in
=============================================================
--- /dev/null
+++ b/icu.pc.in
@@ -0,0 +1,15 @@
+# Process this file with autoconf to produce a pkg-config metadata file.
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+unicode_version=@UNICODE_VERSION@
+
+Name: ICU
+Description: International Component for Unicode libraries
+Requires:
+Version: @VERSION@
+Libs: -L${libdir} -licui18n -licuuc -licudata
+Libs.private: -L{libdir} -lpthread -lm
+Cflags: -I${includedir} -O2 -pipe -g -feliminate-unused-debug-types
--
1.7.11.2

View File

@@ -1,27 +0,0 @@
Allocate a larger memory size for cmd
The length of the command line can be longer than 1024 sometimes,
which will cause a "Segmentation fault" error.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Upstream-Status: Pending
---
tools/pkgdata/pkgdata.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/pkgdata/pkgdata.c b/tools/pkgdata/pkgdata.c
--- a/tools/pkgdata/pkgdata.c
+++ b/tools/pkgdata/pkgdata.c
@@ -439,7 +439,7 @@ main(int argc, char* argv[]) {
/* POSIX - execute makefile */
static int executeMakefile(const UPKGOptions *o)
{
- char cmd[1024];
+ char cmd[2048];
/*char pwd[1024];*/
const char *make;
int rc;
--
1.7.10.2

View File

@@ -1,52 +0,0 @@
Setting LD_LIBRARY_PATH is a really bad idea when cross compiling. Simplest way
to disable this is to rename the variable as per the patch below, then its
harmless. This is a hack.
RP 10/6/2010
Upstream-Status: Inappropriate [Other]
Hacky workaround not likely to be accepted upstream.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Index: source/config/Makefile.inc.in
===================================================================
--- source.orig/config/Makefile.inc.in 2010-06-10 21:49:19.000000000 +0100
+++ source/config/Makefile.inc.in 2010-06-10 21:49:46.000000000 +0100
@@ -126,7 +126,7 @@
##################################################################
# Environment variable to set a runtime search path
# (Overridden when necessary in -mh files)
-LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
+LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH2
# Versioned target for a shared library
FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
Index: source/icudefs.mk.in
===================================================================
--- source.orig/icudefs.mk.in 2010-06-10 21:51:03.000000000 +0100
+++ source/icudefs.mk.in 2010-06-10 21:51:09.000000000 +0100
@@ -150,7 +150,7 @@
SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared
# Environment variable to set a runtime search path
-LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
+LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH2
# Versioned target for a shared library.
FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
Index: source/tools/genrb/gendtjar.pl
===================================================================
--- source.orig/tools/genrb/gendtjar.pl 2010-06-10 21:51:36.000000000 +0100
+++ source/tools/genrb/gendtjar.pl 2010-06-10 21:52:03.000000000 +0100
@@ -68,8 +68,8 @@
$icuLibDir = abs_path($icuBinDir."/../lib");
$path .=":$icuBinDir:$icuLibDir";
- $libpath = $ENV{'LD_LIBRARY_PATH'}.":$icuLibDir";
- $ENV{'LD_LIBRARY_PATH'} = $libpath;
+ $libpath = $ENV{'LD_LIBRARY_PATH2'}.":$icuLibDir";
+ $ENV{'LD_LIBRARY_PATH2'} = $libpath;
#print ("##### LD_LIBRARY_PATH = $ENV{'LD_LIBRARY_PATH'}\n");

View File

@@ -1,74 +0,0 @@
Use g++ for linking.
Upstream-Status: Inappropriate [Other]
Build system specific
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
---
tools/genccode/Makefile.in | 2 +-
tools/gencmn/Makefile.in | 2 +-
tools/genrb/Makefile.in | 2 +-
tools/pkgdata/Makefile.in | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
--- source.orig/tools/genccode/Makefile.in
+++ source/tools/genccode/Makefile.in
@@ -76,11 +76,11 @@ check-local: all-local
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
%.$(SECTION): $(srcdir)/%.$(SECTION).in
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
--- source.orig/tools/gencmn/Makefile.in
+++ source/tools/gencmn/Makefile.in
@@ -76,11 +76,11 @@ check-local: all-local
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
%.$(SECTION): $(srcdir)/%.$(SECTION).in
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
--- source.orig/tools/genrb/Makefile.in
+++ source/tools/genrb/Makefile.in
@@ -84,11 +84,11 @@ Makefile: $(srcdir)/Makefile.in $(top_b
$(TARGET) : $(OBJECTS)
$(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
$(DERB) : $(DERB_OBJ)
- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
# This line is needed to serialize builds when the gmake -j option is used.
$(TARGET_STUB_NAME).$(SECTION): $(DERB_STUB_NAME).$(SECTION)
--- source.orig/tools/pkgdata/Makefile.in
+++ source/tools/pkgdata/Makefile.in
@@ -81,11 +81,11 @@ check-local: all-local
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(TARGET) : $(OBJECTS)
- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
%.$(SECTION): $(srcdir)/%.$(SECTION).in
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -1,75 +0,0 @@
SUMMARY = "International Component for Unicode libraries"
DESCRIPTION = "The International Component for Unicode (ICU) is a mature, portable set of C/C++ and Java libraries for Unicode support, software internationalization (I18N) and globalization (G11N), giving applications the same results on all platforms."
HOMEPAGE = "http://www-01.ibm.com/software/globalization/icu/index.jsp"
BASE_SRC_URI = "ftp://ftp.software.ibm.com/software/globalization/icu/3.6/icu4c-3_6-src.tgz \
file://gccfix.patch \
file://fix-parallel-build.patch \
file://use-g++-for-linking.patch \
file://larger-cmd-size.patch \
file://icu-add-pkgconfig-support.patch \
"
SRC_URI = "${BASE_SRC_URI} \
file://noldlibpath.patch \
"
SRC_URI_class-native = "${BASE_SRC_URI}"
LICENSE = "ICU"
LIC_FILES_CHKSUM = "file://../license.html;md5=5c94767cedb5d6987c902ac850ded2c6"
DEPENDS = "icu-native"
DEPENDS_class-native = ""
S = "${WORKDIR}/icu/source"
PARALLEL_MAKE = ""
FULL_OPTIMIZATION_arm = "-Os"
inherit autotools pkgconfig binconfig
do_configure() {
libtoolize --force
gnu-configize --force
if [ "${PN}" != "icu-native" ]; then
OLD=`pwd`
cd ${S}
autoconf
cd ${OLD}
fi
oe_runconf
if [ "${PN}" != "icu-native" ]; then
# In the non-native case we need to make substitutions to use
# the native versions of the tools
for i in */Makefile* */*.inc */*/Makefile* */*/*.inc */*/*.inc.in ; do
sed -i -e 's:$(INVOKE) $(BINDIR)/:$(INVOKE) :g' $i
sed -i -e 's:$(BINDIR)/::g' $i
done
fi
}
do_compile() {
oe_runmake 'CXX=${CXX}'
}
do_install_append() {
chmod +x ${D}${libdir}/lib*
if [ "${PN}" != "icu-native" ]; then
install -d ${D}/${libdir}/pkgconfig
install -m 0644 ${S}/icu.pc ${D}/${libdir}/pkgconfig
fi
}
PACKAGES =+ "libicudata libicuuc libicui18n libicule libiculx libicutu libicuio"
FILES_${PN}-dev += "${libdir}/${BPN}/"
FILES_libicudata = "${libdir}/libicudata.so.*"
FILES_libicuuc = "${libdir}/libicuuc.so.*"
FILES_libicui18n = "${libdir}/libicui18n.so.*"
FILES_libicule = "${libdir}/libicule.so.*"
FILES_libiculx = "${libdir}/libiculx.so.*"
FILES_libicutu = "${libdir}/libicutu.so.*"
FILES_libicuio = "${libdir}/libicuio.so.*"
BBCLASSEXTEND = "native"
SSTATE_SCAN_FILES += "Makefile.inc"

View File

@@ -0,0 +1,52 @@
SUMMARY = "International Component for Unicode libraries"
DESCRIPTION = "The International Component for Unicode (ICU) is a mature, portable set of C/C++ and Java libraries for Unicode support, software internationalization (I18N) and globalization (G11N), giving applications the same results on all platforms."
HOMEPAGE = "http://site.icu-project.org/"
LICENSE = "ICU"
DEPENDS = "icu-native"
DEPENDS_class-native = ""
S = "${WORKDIR}/icu/source"
STAGING_ICU_SOURCE_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/icu"
PARALLEL_MAKE = ""
FULL_OPTIMIZATION_arm = "-Os"
inherit autotools pkgconfig binconfig
# ICU needs the native build directory as an argument to its --with-cross-build option when
# cross-compiling. Taken the situation that different builds may share a common sstate-cache
# into consideration, the native build directory needs to be staged.
EXTRA_OECONF = "--with-cross-build=${STAGING_DATADIR_NATIVE}/icu/source"
EXTRA_OECONF_class-native = ""
# ICU puts custom m4 autoconf functions in aclocal.m4.
# However, this file is deleted in our build system.
# To make it work, we copy aclocal.m4 to acinclude.m4.
# This is a bug of ICU. See bug reference:
# http://bugs.icu-project.org/trac/ticket/9790
do_configure_prepend() {
[ -f acinclude.m4 ] || cp aclocal.m4 acinclude.m4
}
do_install_append() {
if [ ${PN} == 'icu-native' ]; then
mkdir -p ${D}/${STAGING_ICU_SOURCE_DIR_NATIVE}
cp -r ${S} ${D}/${STAGING_ICU_SOURCE_DIR_NATIVE}
fi
}
PACKAGES =+ "libicudata libicuuc libicui18n libicule libiculx libicutu libicuio"
FILES_${PN}-dev += "${libdir}/${BPN}/"
FILES_libicudata = "${libdir}/libicudata.so.*"
FILES_libicuuc = "${libdir}/libicuuc.so.*"
FILES_libicui18n = "${libdir}/libicui18n.so.*"
FILES_libicule = "${libdir}/libicule.so.*"
FILES_libiculx = "${libdir}/libiculx.so.*"
FILES_libicutu = "${libdir}/libicutu.so.*"
FILES_libicuio = "${libdir}/libicuio.so.*"
BBCLASSEXTEND = "native"

View File

@@ -1,6 +0,0 @@
require icu-3.6.inc
PR = "r10"
SRC_URI[md5sum] = "6243f7a19e03e05403ce84e597510d4c"
SRC_URI[sha256sum] = "5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041"

View File

@@ -0,0 +1,11 @@
require icu.inc
LIC_FILES_CHKSUM = "file://../license.html;md5=4ee45701e87d34303281978e3b78ecda"
PR = "r1"
BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/50.1/icu4c-50_1-src.tgz"
SRC_URI = "${BASE_SRC_URI}"
SRC_URI[md5sum] = "cf7bf9e56aa6c2057a8b6f464046483e"
SRC_URI[sha256sum] = "68592b3c07d9b86100f41d0172eb1a81f3ffb2a8fef1104d7395099079ba7350"