summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/icu
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2012-12-18 13:58:36 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-12-19 17:54:57 +0000
commit9596495e09b1738d2e85e0c1a2997c889dd6e6f5 (patch)
tree07db8282ccb3eecabd64cb7b900f200cbb5e464c /meta/recipes-support/icu
parentc21f80b294a226e00d6dfd8efedb0f7f0fb0c647 (diff)
downloadpoky-9596495e09b1738d2e85e0c1a2997c889dd6e6f5.tar.gz
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>
Diffstat (limited to 'meta/recipes-support/icu')
-rw-r--r--meta/recipes-support/icu/files/fix-parallel-build.patch19
-rw-r--r--meta/recipes-support/icu/files/gccfix.patch19
-rw-r--r--meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch43
-rw-r--r--meta/recipes-support/icu/files/larger-cmd-size.patch27
-rw-r--r--meta/recipes-support/icu/files/noldlibpath.patch52
-rw-r--r--meta/recipes-support/icu/files/use-g++-for-linking.patch74
-rw-r--r--meta/recipes-support/icu/icu-3.6.inc75
-rw-r--r--meta/recipes-support/icu/icu.inc52
-rw-r--r--meta/recipes-support/icu/icu_3.6.bb6
-rw-r--r--meta/recipes-support/icu/icu_50.1.bb11
10 files changed, 63 insertions, 315 deletions
diff --git a/meta/recipes-support/icu/files/fix-parallel-build.patch b/meta/recipes-support/icu/files/fix-parallel-build.patch
deleted file mode 100644
index 5b01a4c26c..0000000000
--- a/meta/recipes-support/icu/files/fix-parallel-build.patch
+++ /dev/null
@@ -1,19 +0,0 @@
1Upstream-Status: pending
2
3Fix parallel builds
4
5Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
6
7Index: source/data/Makefile.in
8===================================================================
9--- source.orig/data/Makefile.in 2011-09-02 02:03:37.000000000 +0400
10+++ source/data/Makefile.in 2011-09-02 02:06:26.000000000 +0400
11@@ -351,8 +351,8 @@
12 endif
13
14
15-build-dir: $(BUILD_DIRS)
16-$(BUILD_DIRS):
17+$(MAINBUILDDIR) $(BUILD_DIRS): build-dir
18+build-dir:
19 -$(MKINSTALLDIRS) $(BUILD_DIRS)
diff --git a/meta/recipes-support/icu/files/gccfix.patch b/meta/recipes-support/icu/files/gccfix.patch
deleted file mode 100644
index 755341f186..0000000000
--- a/meta/recipes-support/icu/files/gccfix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
1Fixes an error which prevents compilation
2
3Upstream-Status: Pending
4
5Signed-off-by: Scott Garman <scott.a.garman@intel.com>
6
7Index: source/layoutex/ParagraphLayout.cpp
8===================================================================
9--- source.orig/layoutex/ParagraphLayout.cpp 2009-06-30 11:48:47.000000000 +0100
10+++ source/layoutex/ParagraphLayout.cpp 2009-06-30 11:49:06.000000000 +0100
11@@ -798,7 +798,7 @@
12
13 return nullLanguageCode;
14 }
15-#elif
16+#else
17
18 // TODO - dummy implementation for right now...
19 le_int32 ParagraphLayout::getLanguageCode(const Locale *locale)
diff --git a/meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch b/meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch
deleted file mode 100644
index c7cd9d5d7e..0000000000
--- a/meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1Upstream-Status: Inappropriate [version]
2ICU-3.6 has no pkgconfig, so I add it here.
3But ICU has had pkgconfig support since 4.6.
4So this patch is inappropriate to upstream.
5
6Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
7
8Index: configure.in
9=============================================================
10--- a/configure.in
11+++ b/configure.in
12@@ -1057,4 +1057,7 @@ echo "This may cause ICU to fail to build. Please make sure that GNU make"
13 echo "is in your PATH so that this configure script can detect its location."
14 fi
15
16+AC_CONFIG_FILES([icu.pc])
17+AC_OUTPUT
18+
19 $as_unset _CXX_CXXSUFFIX
20
21Index: icu.pc.in
22=============================================================
23--- /dev/null
24+++ b/icu.pc.in
25@@ -0,0 +1,15 @@
26+# Process this file with autoconf to produce a pkg-config metadata file.
27+
28+prefix=@prefix@
29+exec_prefix=@exec_prefix@
30+libdir=@libdir@
31+includedir=@includedir@
32+unicode_version=@UNICODE_VERSION@
33+
34+Name: ICU
35+Description: International Component for Unicode libraries
36+Requires:
37+Version: @VERSION@
38+Libs: -L${libdir} -licui18n -licuuc -licudata
39+Libs.private: -L{libdir} -lpthread -lm
40+Cflags: -I${includedir} -O2 -pipe -g -feliminate-unused-debug-types
41--
421.7.11.2
43
diff --git a/meta/recipes-support/icu/files/larger-cmd-size.patch b/meta/recipes-support/icu/files/larger-cmd-size.patch
deleted file mode 100644
index 74a84f17ba..0000000000
--- a/meta/recipes-support/icu/files/larger-cmd-size.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1Allocate a larger memory size for cmd
2
3The length of the command line can be longer than 1024 sometimes,
4which will cause a "Segmentation fault" error.
5
6Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
7
8Upstream-Status: Pending
9---
10 tools/pkgdata/pkgdata.c | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/tools/pkgdata/pkgdata.c b/tools/pkgdata/pkgdata.c
14--- a/tools/pkgdata/pkgdata.c
15+++ b/tools/pkgdata/pkgdata.c
16@@ -439,7 +439,7 @@ main(int argc, char* argv[]) {
17 /* POSIX - execute makefile */
18 static int executeMakefile(const UPKGOptions *o)
19 {
20- char cmd[1024];
21+ char cmd[2048];
22 /*char pwd[1024];*/
23 const char *make;
24 int rc;
25--
261.7.10.2
27
diff --git a/meta/recipes-support/icu/files/noldlibpath.patch b/meta/recipes-support/icu/files/noldlibpath.patch
deleted file mode 100644
index 8543044b2c..0000000000
--- a/meta/recipes-support/icu/files/noldlibpath.patch
+++ /dev/null
@@ -1,52 +0,0 @@
1Setting LD_LIBRARY_PATH is a really bad idea when cross compiling. Simplest way
2to disable this is to rename the variable as per the patch below, then its
3harmless. This is a hack.
4
5RP 10/6/2010
6
7Upstream-Status: Inappropriate [Other]
8Hacky workaround not likely to be accepted upstream.
9
10Signed-off-by: Scott Garman <scott.a.garman@intel.com>
11
12Index: source/config/Makefile.inc.in
13===================================================================
14--- source.orig/config/Makefile.inc.in 2010-06-10 21:49:19.000000000 +0100
15+++ source/config/Makefile.inc.in 2010-06-10 21:49:46.000000000 +0100
16@@ -126,7 +126,7 @@
17 ##################################################################
18 # Environment variable to set a runtime search path
19 # (Overridden when necessary in -mh files)
20-LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
21+LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH2
22
23 # Versioned target for a shared library
24 FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
25Index: source/icudefs.mk.in
26===================================================================
27--- source.orig/icudefs.mk.in 2010-06-10 21:51:03.000000000 +0100
28+++ source/icudefs.mk.in 2010-06-10 21:51:09.000000000 +0100
29@@ -150,7 +150,7 @@
30 SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared
31
32 # Environment variable to set a runtime search path
33-LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
34+LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH2
35
36 # Versioned target for a shared library.
37 FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
38Index: source/tools/genrb/gendtjar.pl
39===================================================================
40--- source.orig/tools/genrb/gendtjar.pl 2010-06-10 21:51:36.000000000 +0100
41+++ source/tools/genrb/gendtjar.pl 2010-06-10 21:52:03.000000000 +0100
42@@ -68,8 +68,8 @@
43 $icuLibDir = abs_path($icuBinDir."/../lib");
44 $path .=":$icuBinDir:$icuLibDir";
45
46- $libpath = $ENV{'LD_LIBRARY_PATH'}.":$icuLibDir";
47- $ENV{'LD_LIBRARY_PATH'} = $libpath;
48+ $libpath = $ENV{'LD_LIBRARY_PATH2'}.":$icuLibDir";
49+ $ENV{'LD_LIBRARY_PATH2'} = $libpath;
50
51 #print ("##### LD_LIBRARY_PATH = $ENV{'LD_LIBRARY_PATH'}\n");
52
diff --git a/meta/recipes-support/icu/files/use-g++-for-linking.patch b/meta/recipes-support/icu/files/use-g++-for-linking.patch
deleted file mode 100644
index f477dadee9..0000000000
--- a/meta/recipes-support/icu/files/use-g++-for-linking.patch
+++ /dev/null
@@ -1,74 +0,0 @@
1Use g++ for linking.
2
3Upstream-Status: Inappropriate [Other]
4Build system specific
5
6Signed-off-by: Scott Garman <scott.a.garman@intel.com>
7
8---
9 tools/genccode/Makefile.in | 2 +-
10 tools/gencmn/Makefile.in | 2 +-
11 tools/genrb/Makefile.in | 2 +-
12 tools/pkgdata/Makefile.in | 2 +-
13 4 files changed, 4 insertions(+), 4 deletions(-)
14
15--- source.orig/tools/genccode/Makefile.in
16+++ source/tools/genccode/Makefile.in
17@@ -76,11 +76,11 @@ check-local: all-local
18 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
19 cd $(top_builddir) \
20 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
21
22 $(TARGET) : $(OBJECTS)
23- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
24+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
25
26
27 %.$(SECTION): $(srcdir)/%.$(SECTION).in
28 cd $(top_builddir) \
29 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
30--- source.orig/tools/gencmn/Makefile.in
31+++ source/tools/gencmn/Makefile.in
32@@ -76,11 +76,11 @@ check-local: all-local
33 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
34 cd $(top_builddir) \
35 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
36
37 $(TARGET) : $(OBJECTS)
38- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
39+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
40
41 %.$(SECTION): $(srcdir)/%.$(SECTION).in
42 cd $(top_builddir) \
43 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
44
45--- source.orig/tools/genrb/Makefile.in
46+++ source/tools/genrb/Makefile.in
47@@ -84,11 +84,11 @@ Makefile: $(srcdir)/Makefile.in $(top_b
48
49 $(TARGET) : $(OBJECTS)
50 $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
51
52 $(DERB) : $(DERB_OBJ)
53- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
54+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
55
56
57 # This line is needed to serialize builds when the gmake -j option is used.
58 $(TARGET_STUB_NAME).$(SECTION): $(DERB_STUB_NAME).$(SECTION)
59
60--- source.orig/tools/pkgdata/Makefile.in
61+++ source/tools/pkgdata/Makefile.in
62@@ -81,11 +81,11 @@ check-local: all-local
63 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
64 cd $(top_builddir) \
65 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
66
67 $(TARGET) : $(OBJECTS)
68- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
69+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
70
71
72 %.$(SECTION): $(srcdir)/%.$(SECTION).in
73 cd $(top_builddir) \
74 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff --git a/meta/recipes-support/icu/icu-3.6.inc b/meta/recipes-support/icu/icu-3.6.inc
deleted file mode 100644
index 8caf71c645..0000000000
--- a/meta/recipes-support/icu/icu-3.6.inc
+++ /dev/null
@@ -1,75 +0,0 @@
1SUMMARY = "International Component for Unicode libraries"
2DESCRIPTION = "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."
3HOMEPAGE = "http://www-01.ibm.com/software/globalization/icu/index.jsp"
4
5BASE_SRC_URI = "ftp://ftp.software.ibm.com/software/globalization/icu/3.6/icu4c-3_6-src.tgz \
6 file://gccfix.patch \
7 file://fix-parallel-build.patch \
8 file://use-g++-for-linking.patch \
9 file://larger-cmd-size.patch \
10 file://icu-add-pkgconfig-support.patch \
11 "
12SRC_URI = "${BASE_SRC_URI} \
13 file://noldlibpath.patch \
14 "
15SRC_URI_class-native = "${BASE_SRC_URI}"
16
17LICENSE = "ICU"
18LIC_FILES_CHKSUM = "file://../license.html;md5=5c94767cedb5d6987c902ac850ded2c6"
19DEPENDS = "icu-native"
20DEPENDS_class-native = ""
21
22S = "${WORKDIR}/icu/source"
23
24PARALLEL_MAKE = ""
25FULL_OPTIMIZATION_arm = "-Os"
26
27inherit autotools pkgconfig binconfig
28
29do_configure() {
30 libtoolize --force
31 gnu-configize --force
32 if [ "${PN}" != "icu-native" ]; then
33 OLD=`pwd`
34 cd ${S}
35 autoconf
36 cd ${OLD}
37 fi
38 oe_runconf
39 if [ "${PN}" != "icu-native" ]; then
40 # In the non-native case we need to make substitutions to use
41 # the native versions of the tools
42 for i in */Makefile* */*.inc */*/Makefile* */*/*.inc */*/*.inc.in ; do
43 sed -i -e 's:$(INVOKE) $(BINDIR)/:$(INVOKE) :g' $i
44 sed -i -e 's:$(BINDIR)/::g' $i
45 done
46 fi
47}
48
49do_compile() {
50 oe_runmake 'CXX=${CXX}'
51}
52
53do_install_append() {
54 chmod +x ${D}${libdir}/lib*
55 if [ "${PN}" != "icu-native" ]; then
56 install -d ${D}/${libdir}/pkgconfig
57 install -m 0644 ${S}/icu.pc ${D}/${libdir}/pkgconfig
58 fi
59}
60
61PACKAGES =+ "libicudata libicuuc libicui18n libicule libiculx libicutu libicuio"
62
63FILES_${PN}-dev += "${libdir}/${BPN}/"
64
65FILES_libicudata = "${libdir}/libicudata.so.*"
66FILES_libicuuc = "${libdir}/libicuuc.so.*"
67FILES_libicui18n = "${libdir}/libicui18n.so.*"
68FILES_libicule = "${libdir}/libicule.so.*"
69FILES_libiculx = "${libdir}/libiculx.so.*"
70FILES_libicutu = "${libdir}/libicutu.so.*"
71FILES_libicuio = "${libdir}/libicuio.so.*"
72
73BBCLASSEXTEND = "native"
74
75SSTATE_SCAN_FILES += "Makefile.inc"
diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc
new file mode 100644
index 0000000000..f7257d13e8
--- /dev/null
+++ b/meta/recipes-support/icu/icu.inc
@@ -0,0 +1,52 @@
1SUMMARY = "International Component for Unicode libraries"
2DESCRIPTION = "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."
3HOMEPAGE = "http://site.icu-project.org/"
4
5LICENSE = "ICU"
6DEPENDS = "icu-native"
7DEPENDS_class-native = ""
8
9S = "${WORKDIR}/icu/source"
10STAGING_ICU_SOURCE_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/icu"
11
12PARALLEL_MAKE = ""
13FULL_OPTIMIZATION_arm = "-Os"
14
15inherit autotools pkgconfig binconfig
16
17# ICU needs the native build directory as an argument to its --with-cross-build option when
18# cross-compiling. Taken the situation that different builds may share a common sstate-cache
19# into consideration, the native build directory needs to be staged.
20EXTRA_OECONF = "--with-cross-build=${STAGING_DATADIR_NATIVE}/icu/source"
21EXTRA_OECONF_class-native = ""
22
23# ICU puts custom m4 autoconf functions in aclocal.m4.
24# However, this file is deleted in our build system.
25# To make it work, we copy aclocal.m4 to acinclude.m4.
26# This is a bug of ICU. See bug reference:
27# http://bugs.icu-project.org/trac/ticket/9790
28do_configure_prepend() {
29 [ -f acinclude.m4 ] || cp aclocal.m4 acinclude.m4
30}
31
32do_install_append() {
33 if [ ${PN} == 'icu-native' ]; then
34 mkdir -p ${D}/${STAGING_ICU_SOURCE_DIR_NATIVE}
35 cp -r ${S} ${D}/${STAGING_ICU_SOURCE_DIR_NATIVE}
36 fi
37}
38
39PACKAGES =+ "libicudata libicuuc libicui18n libicule libiculx libicutu libicuio"
40
41FILES_${PN}-dev += "${libdir}/${BPN}/"
42
43FILES_libicudata = "${libdir}/libicudata.so.*"
44FILES_libicuuc = "${libdir}/libicuuc.so.*"
45FILES_libicui18n = "${libdir}/libicui18n.so.*"
46FILES_libicule = "${libdir}/libicule.so.*"
47FILES_libiculx = "${libdir}/libiculx.so.*"
48FILES_libicutu = "${libdir}/libicutu.so.*"
49FILES_libicuio = "${libdir}/libicuio.so.*"
50
51BBCLASSEXTEND = "native"
52
diff --git a/meta/recipes-support/icu/icu_3.6.bb b/meta/recipes-support/icu/icu_3.6.bb
deleted file mode 100644
index f50abe231c..0000000000
--- a/meta/recipes-support/icu/icu_3.6.bb
+++ /dev/null
@@ -1,6 +0,0 @@
1require icu-3.6.inc
2
3PR = "r10"
4
5SRC_URI[md5sum] = "6243f7a19e03e05403ce84e597510d4c"
6SRC_URI[sha256sum] = "5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041"
diff --git a/meta/recipes-support/icu/icu_50.1.bb b/meta/recipes-support/icu/icu_50.1.bb
new file mode 100644
index 0000000000..8f65c6d262
--- /dev/null
+++ b/meta/recipes-support/icu/icu_50.1.bb
@@ -0,0 +1,11 @@
1require icu.inc
2
3LIC_FILES_CHKSUM = "file://../license.html;md5=4ee45701e87d34303281978e3b78ecda"
4
5PR = "r1"
6
7BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/50.1/icu4c-50_1-src.tgz"
8SRC_URI = "${BASE_SRC_URI}"
9
10SRC_URI[md5sum] = "cf7bf9e56aa6c2057a8b6f464046483e"
11SRC_URI[sha256sum] = "68592b3c07d9b86100f41d0172eb1a81f3ffb2a8fef1104d7395099079ba7350" \ No newline at end of file