Skip to contentSkip to conversation

ICU: upgrade to 50.1

PATCH Superseded [email protected] 3 participants 7 messages Dec 14, 2012 – Dec 18, 2012

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 cover ICU: upgrade to 50.1

From: Chen Qi <[email protected]>

Upgrade ICU to 50.1.

Version 2 fixes a bug that version 1 has.
ICU needs the native building 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, we should stage that directory.

The following changes since commit c607095894cab60493ddfc4b967b0325e1c313b4:

bitbake: Revert "BBHandler: Ensure parser state engine is correctly reset for new parsing" (2012-12-07 18:09:01 +0000)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib ChenQi/ICU-upgrade
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/ICU-upgrade

Chen Qi (1):
ICU: upgrade to 50.1

 .../icu/files/fix-parallel-build.patch             |   19 -----
 meta/recipes-support/icu/files/gccfix.patch        |   19 -----
 .../icu/files/icu-add-pkgconfig-support.patch      |   43 ------------
 .../icu/files/larger-cmd-size.patch                |   27 -------
 meta/recipes-support/icu/files/noldlibpath.patch   |   52 --------------
 .../icu/files/use-g++-for-linking.patch            |   74 --------------------
 meta/recipes-support/icu/{icu-3.6.inc => icu.inc}  |   54 ++++----------
 meta/recipes-support/icu/icu_3.6.bb                |    6 --
 meta/recipes-support/icu/icu_50.1.bb               |   11 +++
 9 files changed, 24 insertions(+), 281 deletions(-)
 delete mode 100644 meta/recipes-support/icu/files/fix-parallel-build.patch
 delete mode 100644 meta/recipes-support/icu/files/gccfix.patch
 delete mode 100644 meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch
 delete mode 100644 meta/recipes-support/icu/files/larger-cmd-size.patch
 delete mode 100644 meta/recipes-support/icu/files/noldlibpath.patch
 delete mode 100644 meta/recipes-support/icu/files/use-g++-for-linking.patch
 rename meta/recipes-support/icu/{icu-3.6.inc => icu.inc} (42%)
 delete mode 100644 meta/recipes-support/icu/icu_3.6.bb
 create mode 100644 meta/recipes-support/icu/icu_50.1.bb
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v2 1/1 ICU: upgrade to 50.1

From: Chen Qi <[email protected]>

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

---
 .../icu/files/fix-parallel-build.patch             |   19 -----
 meta/recipes-support/icu/files/gccfix.patch        |   19 -----
 .../icu/files/icu-add-pkgconfig-support.patch      |   43 ------------
 .../icu/files/larger-cmd-size.patch                |   27 -------
 meta/recipes-support/icu/files/noldlibpath.patch   |   52 --------------
 .../icu/files/use-g++-for-linking.patch            |   74 --------------------
 meta/recipes-support/icu/{icu-3.6.inc => icu.inc}  |   54 ++++----------
 meta/recipes-support/icu/icu_3.6.bb                |    6 --
 meta/recipes-support/icu/icu_50.1.bb               |   11 +++
 9 files changed, 24 insertions(+), 281 deletions(-)
 delete mode 100644 meta/recipes-support/icu/files/fix-parallel-build.patch
 delete mode 100644 meta/recipes-support/icu/files/gccfix.patch
 delete mode 100644 meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch
 delete mode 100644 meta/recipes-support/icu/files/larger-cmd-size.patch
 delete mode 100644 meta/recipes-support/icu/files/noldlibpath.patch
 delete mode 100644 meta/recipes-support/icu/files/use-g++-for-linking.patch
 rename meta/recipes-support/icu/{icu-3.6.inc => icu.inc} (42%)
 delete mode 100644 meta/recipes-support/icu/icu_3.6.bb
 create mode 100644 meta/recipes-support/icu/icu_50.1.bb
meta/recipes-support/icu/files/fix-parallel-build.patch deleted +0 -19
deleted file mode 100644
index 5b01a4c..0000000
@@ -1,19 +0,0 @@
-Upstream-Status: pending
-
-Fix parallel builds
-
-Signed-off-by: Dmitry Eremin-Solenikov <[email protected]>
-
-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)
meta/recipes-support/icu/files/gccfix.patch deleted +0 -19
deleted file mode 100644
index 755341f..0000000
@@ -1,19 +0,0 @@
-Fixes an error which prevents compilation
-
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <[email protected]>
-
-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)
meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch deleted +0 -43

43 lines not on this page · raw message

meta/recipes-support/icu/files/larger-cmd-size.patch deleted +0 -27
deleted file mode 100644
index 74a84f1..0000000
@@ -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 <[email protected]>
-
-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
-
meta/recipes-support/icu/files/noldlibpath.patch deleted +0 -52

52 lines not on this page · raw message

meta/recipes-support/icu/files/use-g++-for-linking.patch deleted +0 -74

74 lines not on this page · raw message

meta/recipes-support/icu/icu.inc renamed from meta/recipes-support/icu/icu-3.6.inc +13 -41

78 lines not on this page · raw message

meta/recipes-support/icu/icu_3.6.bb deleted +0 -6
deleted file mode 100644
index f50abe2..0000000
@@ -1,6 +0,0 @@
-require icu-3.6.inc
-
-PR = "r10"
-
-SRC_URI[md5sum] = "6243f7a19e03e05403ce84e597510d4c"
-SRC_URI[sha256sum] = "5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041"
meta/recipes-support/icu/icu_50.1.bb new file +11 -0
new file mode 100644
index 0000000..8f65c6d
@@ -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"
\ No newline at end of file
Signature · 1 line
1.7.9.5
#2 lore raw

meta/recipes-support/icu/icu.inc line 24

Quoted 2 lines · On 14 December 2012 10:08, <[email protected]> wrote:
meta/recipes-support/icu/icu.inc renamed from meta/recipes-support/icu/icu-3.6.inc +2 -0
+do_configure_prepend() {
+    [ -f acinclude.m4 ] || cp aclocal.m4 acinclude.m4

Great to see a version bump that's mostly removing patches and hacks. Can you add a comment on this prepend to explain what it's doing (referring to http://bugs.icu-project.org/trac/ticket/9790).

Ross

#3 lore raw
In reply to [email protected]
Quoted 4 lines · On Fri, Dec 14, 2012 at 06:08:52PM +0800, [email protected] wrote:

From: Chen Qi <[email protected]>

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

Here it fails with:

ERROR: Logfile of failure stored in:
/OE/jansa-test/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/icu/50.1-r1/temp/log.do_configure.5863

| configure:3917: checking for gmake
| configure:3935: found /usr/bin/gmake
| configure:3947: result: /usr/bin/gmake
| configure:3983: error: No such directory

/OE/jansa-test/shr-core/tmp-eglibc/work/x86_64-linux/icu-native/50.1-r1/icu/source supplied as the argument to --with-cross-build. Use an absolute path.

Notice native path when building for target (armv5te). Ah and I'm using rmwork so maybe it worked for you, because source from native build was still available when you started target build.

Cheers,

Quoted 417 lines
---
 .../icu/files/fix-parallel-build.patch             |   19 -----
 meta/recipes-support/icu/files/gccfix.patch        |   19 -----
 .../icu/files/icu-add-pkgconfig-support.patch      |   43 ------------
 .../icu/files/larger-cmd-size.patch                |   27 -------
 meta/recipes-support/icu/files/noldlibpath.patch   |   52 --------------
 .../icu/files/use-g++-for-linking.patch            |   74 --------------------
 meta/recipes-support/icu/{icu-3.6.inc => icu.inc}  |   54 ++++----------
 meta/recipes-support/icu/icu_3.6.bb                |    6 --
 meta/recipes-support/icu/icu_50.1.bb               |   11 +++
 9 files changed, 24 insertions(+), 281 deletions(-)
 delete mode 100644 meta/recipes-support/icu/files/fix-parallel-build.patch
 delete mode 100644 meta/recipes-support/icu/files/gccfix.patch
 delete mode 100644 meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch
 delete mode 100644 meta/recipes-support/icu/files/larger-cmd-size.patch
 delete mode 100644 meta/recipes-support/icu/files/noldlibpath.patch
 delete mode 100644 meta/recipes-support/icu/files/use-g++-for-linking.patch
 rename meta/recipes-support/icu/{icu-3.6.inc => icu.inc} (42%)
 delete mode 100644 meta/recipes-support/icu/icu_3.6.bb
 create mode 100644 meta/recipes-support/icu/icu_50.1.bb
meta/recipes-support/icu/files/fix-parallel-build.patch deleted +0 -19
deleted file mode 100644
index 5b01a4c..0000000
@@ -1,19 +0,0 @@
-Upstream-Status: pending
-
-Fix parallel builds
-
-Signed-off-by: Dmitry Eremin-Solenikov <[email protected]>
-
-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)
meta/recipes-support/icu/files/gccfix.patch deleted +0 -19
deleted file mode 100644
index 755341f..0000000
@@ -1,19 +0,0 @@
-Fixes an error which prevents compilation
-
-Upstream-Status: Pending
-
-Signed-off-by: Scott Garman <[email protected]>
-
-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)
meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch deleted +0 -43
deleted file mode 100644
index c7cd9d5..0000000
@@ -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 <[email protected]>
-
-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
-
meta/recipes-support/icu/files/larger-cmd-size.patch deleted +0 -27
deleted file mode 100644
index 74a84f1..0000000
@@ -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 <[email protected]>
-
-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
-
meta/recipes-support/icu/files/noldlibpath.patch deleted +0 -52
deleted file mode 100644
index 8543044..0000000
@@ -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 <[email protected]>
-
-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");
-     
meta/recipes-support/icu/files/use-g++-for-linking.patch deleted +0 -74
deleted file mode 100644
index f477dad..0000000
@@ -1,74 +0,0 @@
-Use g++ for linking.
-
-Upstream-Status: Inappropriate [Other]
-Build system specific
-
-Signed-off-by: Scott Garman <[email protected]>
-
----
- 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
meta/recipes-support/icu/icu.inc renamed from meta/recipes-support/icu/icu-3.6.inc +13 -41
similarity index 42%
rename from meta/recipes-support/icu/icu-3.6.inc
rename to meta/recipes-support/icu/icu.inc
index 8caf71c..e7d6189 100644
@@ -1,61 +1,34 @@
 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}"
+HOMEPAGE = "http://site.icu-project.org/"
 
 LICENSE = "ICU"
-LIC_FILES_CHKSUM = "file://../license.html;md5=5c94767cedb5d6987c902ac850ded2c6"
 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
 
-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
-}
+# 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 = ""
 
-do_compile() {
-	oe_runmake 'CXX=${CXX}'
+do_configure_prepend() {
+    [ -f acinclude.m4 ] || cp aclocal.m4 acinclude.m4
 }
 
 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
+    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"
@@ -72,4 +45,3 @@ FILES_libicuio = "${libdir}/libicuio.so.*"
 
 BBCLASSEXTEND = "native"
 
-SSTATE_SCAN_FILES += "Makefile.inc"
meta/recipes-support/icu/icu_3.6.bb deleted +0 -6
deleted file mode 100644
index f50abe2..0000000
@@ -1,6 +0,0 @@
-require icu-3.6.inc
-
-PR = "r10"
-
-SRC_URI[md5sum] = "6243f7a19e03e05403ce84e597510d4c"
-SRC_URI[sha256sum] = "5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041"
meta/recipes-support/icu/icu_50.1.bb new file +11 -0
new file mode 100644
index 0000000..8f65c6d
@@ -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"
\ No newline at end of file
Signature · 7 lines
1.7.9.5


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
author
#4 lore raw
Quoted 13 lines · Martin Jansa
Quoted 4 lines · On Fri, Dec 14, 2012 at 06:08:52PM +0800, [email protected] wrote:

From: Chen Qi<[email protected]>

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

Here it fails with:

ERROR: Logfile of failure stored in:
/OE/jansa-test/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/icu/50.1-r1/temp/log.do_configure.5863

| configure:3917: checking for gmake
| configure:3935: found /usr/bin/gmake
| configure:3947: result: /usr/bin/gmake
| configure:3983: error: No such directory
Quoted 9 lines

/OE/jansa-test/shr-core/tmp-eglibc/work/x86_64-linux/icu-native/50.1-r1/icu/source supplied as the argument to --with-cross-build. Use an absolute path.

Notice native path when building for target (armv5te). Ah and I'm using rmwork so maybe it worked for you, because source from native build was still available when you started target build.

Cheers,

Thank you for testing it :)
This failure should have been fixed in version 2. Are you using version 1 of this patch?

Thanks,
Chen Qi

#5 lore raw
Quoted 21 lines · ChenQi
Quoted 20 lines · Martin Jansa
Quoted 4 lines · On Fri, Dec 14, 2012 at 06:08:52PM +0800, [email protected] wrote:

From: Chen Qi<[email protected]>

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

Here it fails with:

ERROR: Logfile of failure stored in:
/OE/jansa-test/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/icu/50.1-r1/temp/log.do_configure.5863

| configure:3917: checking for gmake
| configure:3935: found /usr/bin/gmake
| configure:3947: result: /usr/bin/gmake
| configure:3983: error: No such directory

/OE/jansa-test/shr-core/tmp-eglibc/work/x86_64-linux/icu-native/50.1-r1/icu/source supplied as the argument to --with-cross-build. Use an absolute path.

Notice native path when building for target (armv5te). Ah and I'm using rmwork so maybe it worked for you, because source from native build was still available when you started target build.

Quoted 6 lines
Quoted 2 lines

Cheers,

Thank you for testing it :)
This failure should have been fixed in version 2. Are you using version 1 of this patch?

Ah you're right, it was probably from version 1 you've sent me off list..

BTW: can we stage only parts of native build which are really needed instead of whole workdir?

Cheers,

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
author
#6 lore raw
Quoted 24 lines · Martin Jansa
Quoted 23 lines · ChenQi
Quoted 22 lines · Martin Jansa
Quoted 4 lines · On Fri, Dec 14, 2012 at 06:08:52PM +0800, [email protected] wrote:

From: Chen Qi<[email protected]>

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

Here it fails with:

ERROR: Logfile of failure stored in:
/OE/jansa-test/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/icu/50.1-r1/temp/log.do_configure.5863

| configure:3917: checking for gmake
| configure:3935: found /usr/bin/gmake
| configure:3947: result: /usr/bin/gmake
| configure:3983: error: No such directory

/OE/jansa-test/shr-core/tmp-eglibc/work/x86_64-linux/icu-native/50.1-r1/icu/source supplied as the argument to --with-cross-build. Use an absolute path.

Notice native path when building for target (armv5te). Ah and I'm using rmwork so maybe it worked for you, because source from native build was still available when you started target build.

Cheers,

Quoted 7 lines
Quoted 3 lines

Thank you for testing it :)
This failure should have been fixed in version 2. Are you using version 1 of this patch?

Ah you're right, it was probably from version 1 you've sent me off list..

BTW: can we stage only parts of native build which are really needed instead of whole workdir?

I though about that too. In fact, I tried it out. I finally decided not to do so because:
1) The source dir is not very large.
2) Copying all those necessary directories would make the code look strange. After all, at least the following directories have to be copied, config, bin, lib, stubdata, tools. I'd rather prefer a one-line solution.

Cheers,
Chen Qi

Quoted 2 lines

Cheers,