summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/icu
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-support/icu')
-rw-r--r--meta/recipes-support/icu/files/gccfix.patch13
-rw-r--r--meta/recipes-support/icu/files/noldlibpath.patch47
-rw-r--r--meta/recipes-support/icu/files/use-g++-for-linking.patch67
-rw-r--r--meta/recipes-support/icu/icu-3.6.inc55
-rw-r--r--meta/recipes-support/icu/icu_3.6.bb3
5 files changed, 185 insertions, 0 deletions
diff --git a/meta/recipes-support/icu/files/gccfix.patch b/meta/recipes-support/icu/files/gccfix.patch
new file mode 100644
index 0000000000..9291e921d3
--- /dev/null
+++ b/meta/recipes-support/icu/files/gccfix.patch
@@ -0,0 +1,13 @@
1Index: source/layoutex/ParagraphLayout.cpp
2===================================================================
3--- source.orig/layoutex/ParagraphLayout.cpp 2009-06-30 11:48:47.000000000 +0100
4+++ source/layoutex/ParagraphLayout.cpp 2009-06-30 11:49:06.000000000 +0100
5@@ -798,7 +798,7 @@
6
7 return nullLanguageCode;
8 }
9-#elif
10+#else
11
12 // TODO - dummy implementation for right now...
13 le_int32 ParagraphLayout::getLanguageCode(const Locale *locale)
diff --git a/meta/recipes-support/icu/files/noldlibpath.patch b/meta/recipes-support/icu/files/noldlibpath.patch
new file mode 100644
index 0000000000..eba3d805d4
--- /dev/null
+++ b/meta/recipes-support/icu/files/noldlibpath.patch
@@ -0,0 +1,47 @@
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
7Index: source/config/Makefile.inc.in
8===================================================================
9--- source.orig/config/Makefile.inc.in 2010-06-10 21:49:19.000000000 +0100
10+++ source/config/Makefile.inc.in 2010-06-10 21:49:46.000000000 +0100
11@@ -126,7 +126,7 @@
12 ##################################################################
13 # Environment variable to set a runtime search path
14 # (Overridden when necessary in -mh files)
15-LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
16+LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH2
17
18 # Versioned target for a shared library
19 FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
20Index: source/icudefs.mk.in
21===================================================================
22--- source.orig/icudefs.mk.in 2010-06-10 21:51:03.000000000 +0100
23+++ source/icudefs.mk.in 2010-06-10 21:51:09.000000000 +0100
24@@ -150,7 +150,7 @@
25 SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared
26
27 # Environment variable to set a runtime search path
28-LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
29+LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH2
30
31 # Versioned target for a shared library.
32 FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
33Index: source/tools/genrb/gendtjar.pl
34===================================================================
35--- source.orig/tools/genrb/gendtjar.pl 2010-06-10 21:51:36.000000000 +0100
36+++ source/tools/genrb/gendtjar.pl 2010-06-10 21:52:03.000000000 +0100
37@@ -68,8 +68,8 @@
38 $icuLibDir = abs_path($icuBinDir."/../lib");
39 $path .=":$icuBinDir:$icuLibDir";
40
41- $libpath = $ENV{'LD_LIBRARY_PATH'}.":$icuLibDir";
42- $ENV{'LD_LIBRARY_PATH'} = $libpath;
43+ $libpath = $ENV{'LD_LIBRARY_PATH2'}.":$icuLibDir";
44+ $ENV{'LD_LIBRARY_PATH2'} = $libpath;
45
46 #print ("##### LD_LIBRARY_PATH = $ENV{'LD_LIBRARY_PATH'}\n");
47
diff --git a/meta/recipes-support/icu/files/use-g++-for-linking.patch b/meta/recipes-support/icu/files/use-g++-for-linking.patch
new file mode 100644
index 0000000000..4702abc065
--- /dev/null
+++ b/meta/recipes-support/icu/files/use-g++-for-linking.patch
@@ -0,0 +1,67 @@
1---
2 tools/genccode/Makefile.in | 2 +-
3 tools/gencmn/Makefile.in | 2 +-
4 tools/genrb/Makefile.in | 2 +-
5 tools/pkgdata/Makefile.in | 2 +-
6 4 files changed, 4 insertions(+), 4 deletions(-)
7
8--- source.orig/tools/genccode/Makefile.in
9+++ source/tools/genccode/Makefile.in
10@@ -76,11 +76,11 @@ check-local: all-local
11 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
12 cd $(top_builddir) \
13 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
14
15 $(TARGET) : $(OBJECTS)
16- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
17+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
18
19
20 %.$(SECTION): $(srcdir)/%.$(SECTION).in
21 cd $(top_builddir) \
22 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
23--- source.orig/tools/gencmn/Makefile.in
24+++ source/tools/gencmn/Makefile.in
25@@ -76,11 +76,11 @@ check-local: all-local
26 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
27 cd $(top_builddir) \
28 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
29
30 $(TARGET) : $(OBJECTS)
31- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
32+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
33
34 %.$(SECTION): $(srcdir)/%.$(SECTION).in
35 cd $(top_builddir) \
36 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
37
38--- source.orig/tools/genrb/Makefile.in
39+++ source/tools/genrb/Makefile.in
40@@ -84,11 +84,11 @@ Makefile: $(srcdir)/Makefile.in $(top_b
41
42 $(TARGET) : $(OBJECTS)
43 $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
44
45 $(DERB) : $(DERB_OBJ)
46- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
47+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
48
49
50 # This line is needed to serialize builds when the gmake -j option is used.
51 $(TARGET_STUB_NAME).$(SECTION): $(DERB_STUB_NAME).$(SECTION)
52
53--- source.orig/tools/pkgdata/Makefile.in
54+++ source/tools/pkgdata/Makefile.in
55@@ -81,11 +81,11 @@ check-local: all-local
56 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
57 cd $(top_builddir) \
58 && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
59
60 $(TARGET) : $(OBJECTS)
61- $(LINK.c) $(OUTOPT)$@ $^ $(LIBS)
62+ $(LINK.cc) $(OUTOPT)$@ $^ $(LIBS)
63
64
65 %.$(SECTION): $(srcdir)/%.$(SECTION).in
66 cd $(top_builddir) \
67 && 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
new file mode 100644
index 0000000000..1c611bdf36
--- /dev/null
+++ b/meta/recipes-support/icu/icu-3.6.inc
@@ -0,0 +1,55 @@
1DESCRIPTION = "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."
2HOMEPAGE = "http://www-01.ibm.com/software/globalization/icu/index.jsp"
3
4BASE_SRC_URI = "ftp://ftp.software.ibm.com/software/globalization/icu/3.6/icu4c-3_6-src.tgz \
5 file://gccfix.patch;apply=yes \
6 file://use-g++-for-linking.patch;apply=yes"
7SRC_URI = "${BASE_SRC_URI} \
8 file://noldlibpath.patch;apply=yes"
9SRC_URI_virtclass-native = "${BASE_SRC_URI}"
10
11LICENSE = "ICU"
12LIC_FILES_CHKSUM = "file://../license.html;md5=5c94767cedb5d6987c902ac850ded2c6"
13DEPENDS = "icu-native"
14DEPENDS_virtclass-native = ""
15
16S = "${WORKDIR}/icu/source"
17
18PARALLEL_MAKE = ""
19FULL_OPTIMIZATION_arm = "-Os"
20
21inherit autotools pkgconfig binconfig
22
23do_configure() {
24 libtoolize --force
25 gnu-configize --force
26 oe_runconf
27 if [ "${PN}" != "icu-native" ]; then
28 # In the non-native case we need to make substitutions to use
29 # the native versions of the tools
30 for i in */Makefile* */*.inc */*/Makefile* */*/*.inc */*/*.inc.in ; do
31 sed -i -e 's:$(INVOKE) $(BINDIR)/:$(INVOKE) :g' $i
32 sed -i -e 's:$(BINDIR)/::g' $i
33 done
34 fi
35}
36
37do_compile() {
38 oe_runmake 'CXX=${CXX}'
39}
40
41do_install_append() {
42 chmod +x ${D}${libdir}/lib*
43}
44
45PACKAGES =+ "libicudata libicuuc libicui18n libicule libiculx libicutu libicuio"
46
47FILES_libicudata = "${libdir}/libicudata.so.*"
48FILES_libicuuc = "${libdir}/libicuuc.so.*"
49FILES_libicui18n = "${libdir}/libicui18n.so.*"
50FILES_libicule = "${libdir}/libicule.so.*"
51FILES_libiculx = "${libdir}/libiculx.so.*"
52FILES_libicutu = "${libdir}/libicutu.so.*"
53FILES_libicuio = "${libdir}/libicuio.so.*"
54
55BBCLASSEXTEND = "native"
diff --git a/meta/recipes-support/icu/icu_3.6.bb b/meta/recipes-support/icu/icu_3.6.bb
new file mode 100644
index 0000000000..5042116009
--- /dev/null
+++ b/meta/recipes-support/icu/icu_3.6.bb
@@ -0,0 +1,3 @@
1require icu-3.6.inc
2
3PR = "r6"