summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/icu/Config.in5
-rw-r--r--package/icu/icu-4c-3_8_1-lsupc++.patch67
-rw-r--r--package/icu/icu-cross-compile.patch314
-rw-r--r--package/icu/icu.mk77
4 files changed, 463 insertions, 0 deletions
diff --git a/package/icu/Config.in b/package/icu/Config.in
new file mode 100644
index 000000000..0c5c22ac4
--- /dev/null
+++ b/package/icu/Config.in
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_ICU
+ bool "icu"
+ default n
+ help
+ International Components for Unicode.
diff --git a/package/icu/icu-4c-3_8_1-lsupc++.patch b/package/icu/icu-4c-3_8_1-lsupc++.patch
new file mode 100644
index 000000000..891ddceba
--- /dev/null
+++ b/package/icu/icu-4c-3_8_1-lsupc++.patch
@@ -0,0 +1,67 @@
+--- source/tools/genccode/Makefile.in 2007-12-12 13:57:28.000000000 -0500
++++ source/tools/genccode/Makefile.in 2008-02-07 14:37:56.000000000 -0500
+@@ -31,7 +31,7 @@ ifneq ($(top_builddir),$(top_srcdir))
+ CPPFLAGS += -I$(top_builddir)/common
+ endif
+ CPPFLAGS += -I$(top_srcdir)/common -I$(srcdir)/../toolutil
+-LIBS = $(LIBICUTOOLUTIL) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
++LIBS = $(LIBICUTOOLUTIL) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) -lsupc++ -lstdc++
+
+ OBJECTS = genccode.o
+
+--- source/tools/gencmn/Makefile.in 2007-12-12 13:57:28.000000000 -0500
++++ source/tools/gencmn/Makefile.in 2008-02-07 14:37:56.000000000 -0500
+@@ -31,7 +31,7 @@ ifneq ($(top_builddir),$(top_srcdir))
+ CPPFLAGS += -I$(top_builddir)/common
+ endif
+ CPPFLAGS += -I$(top_srcdir)/common -I$(srcdir)/../toolutil
+-LIBS = $(LIBICUTOOLUTIL) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
++LIBS = $(LIBICUTOOLUTIL) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) -lsupc++ -lstdc++
+
+ OBJECTS = gencmn.o
+
+--- source/tools/genrb/Makefile.in 2007-12-12 13:57:28.000000000 -0500
++++ source/tools/genrb/Makefile.in 2008-02-07 14:37:56.000000000 -0500
+@@ -55,7 +55,7 @@ ifneq ($(top_builddir),$(top_srcdir))
+ CPPFLAGS += -I$(top_builddir)/common
+ endif
+ CPPFLAGS += -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(srcdir)/../toolutil
+-LIBS = $(LIBICUI18N) $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
++LIBS = $(LIBICUI18N) $(LIBICUTOOLUTIL) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) -lsupc++ -lstdc++
+
+ OBJECTS = errmsg.o genrb.o parse.o read.o reslist.o ustr.o rbutil.o \
+ wrtjava.o rle.o wrtxml.o prscmnts.o
+
+--- source/tools/pkgdata/Makefile.in 2007-12-12 13:57:28.000000000 -0500
++++ source/tools/pkgdata/Makefile.in 2008-02-07 14:37:56.000000000 -0500
+@@ -35,7 +35,7 @@ CPPFLAGS += -I$(top_builddir)/common
+ endif
+ CPPFLAGS += -I$(top_srcdir)/common -I$(srcdir)/../toolutil
+ DEFS += -DUDATA_SO_SUFFIX=\".$(SO)\" -DSTATIC_O=\"$(STATIC_O)\"
+-LIBS = $(LIBICUTOOLUTIL) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
++LIBS = $(LIBICUTOOLUTIL) $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) -lsupc++ -lstdc++
+
+ OBJECTS = pkgdata.o pkgtypes.o make.o dllmode.o cmnmode.o filemode.o sttcmode.o winmode.o
+
+--- source/samples/date/Makefile.in 2007-12-12 13:57:28.000000000 -0500
++++ source/samples/date/Makefile.in 2008-02-07 14:37:56.000000000 -0500
+@@ -21,7 +21,7 @@ CLEANFILES = *~ $(DEPS)
+ TARGET = icudate$(EXEEXT)
+
+ CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n
+-LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
++LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) -lsupc++ -lstdc++
+
+ OBJECTS = uprint.o date.o
+
+--- source/samples/cal/Makefile.in 2007-12-12 13:57:28.000000000 -0500
++++ source/samples/cal/Makefile.in 2008-02-07 14:37:56.000000000 -0500
+@@ -21,7 +21,7 @@ CLEANFILES = *~ $(DEPS)
+ TARGET = icucal$(EXEEXT)
+
+ CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n
+-LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
++LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M) -lsupc++ -lstdc++
+
+ OBJECTS = uprint.o cal.o
+
diff --git a/package/icu/icu-cross-compile.patch b/package/icu/icu-cross-compile.patch
new file mode 100644
index 000000000..a12c589d7
--- /dev/null
+++ b/package/icu/icu-cross-compile.patch
@@ -0,0 +1,314 @@
+diff -rup icu/source/data/icupkg.inc.in icu/source/data/icupkg.inc.in
+--- source/data/icupkg.inc.in 2007-12-12 13:58:04.000000000 -0500
++++ source/data/icupkg.inc.in 2008-02-03 12:35:09.000000000 -0500
+@@ -49,8 +49,8 @@ U_IS_BIG_ENDIAN=@U_IS_BIG_ENDIAN@
+
+ ##### Add the following to source/config/Makefile.in
+
+-GENCCODE=$(BINDIR)/genccode
+-GENCMN=$(BINDIR)/gencmn
+-ICUPKG=$(BINDIR)/icupkg
++GENCCODE=$(BINDIR)-host/genccode
++GENCMN=$(BINDIR)-host/gencmn
++ICUPKG=$(BINDIR)-host/icupkg
+
+
+diff -rup icu/source/data/Makefile.in icu/source/data/Makefile.in
+--- source/data/Makefile.in 2007-12-12 13:58:04.000000000 -0500
++++ source/data/Makefile.in 2008-02-03 12:35:49.000000000 -0500
+@@ -36,7 +36,7 @@ ICUPKGDATA_OUTDIR = $(OUTDIR)
+ endif
+
+ CURDIR:=$(CURR_FULL_DIR)
+-PKGDATA = $(BINDIR)/pkgdata $(PKGDATA_OPTS) -q -c -s $(CURDIR)/out/build/$(ICUDATA_PLATFORM_NAME) -d $(ICUPKGDATA_OUTDIR) -M'PKGDATA_LDFLAGS="$(LDFLAGSICUDT)"'
++PKGDATA = $(BINDIR)-host/pkgdata $(PKGDATA_OPTS) -q -c -s $(CURDIR)/out/build/$(ICUDATA_PLATFORM_NAME) -d $(ICUPKGDATA_OUTDIR) -M'PKGDATA_LDFLAGS="$(LDFLAGSICUDT)"'
+
+ ifeq ($(OS390_STUBDATA),1)
+ OS390PKG=package390
+@@ -133,7 +133,7 @@ ICUDATA_ARCHIVE = $(firstword $(wildcard
+ ifneq ($(ICUDATA_ARCHIVE),)
+ ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat
+ $(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR)
+- $(INVOKE) $(BINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE)
++ $(INVOKE) $(BINDIR)-host/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE)
+ endif
+ else
+ ifneq ($(ENABLE_STATIC),YES)
+@@ -349,7 +349,7 @@ $(PKGDATA_LIST): $(SRCLISTDEPS) $(ICUDAT
+ ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES)
+ @echo "Unpacking $(ICUDATA_SOURCE_ARCHIVE) and generating $@ (list of data files)"
+ @-$(RMV) $@
+- $(INVOKE) $(BINDIR)/icupkg -d $(BUILDDIR) --list -x \* $(ICUDATA_SOURCE_ARCHIVE) > $@
++ $(INVOKE) $(BINDIR)-host/icupkg -d $(BUILDDIR) --list -x \* $(ICUDATA_SOURCE_ARCHIVE) > $@
+ else
+ @echo "$@" > $@
+ endif
+@@ -377,46 +377,46 @@ endif
+ # DAT FILES
+
+ # uprops.icu
+-$(BUILDDIR)/uprops.icu: $(UNICODEDATADIR)/UnicodeData.txt $(UNICODEDATADIR)/BidiMirroring.txt $(BINDIR)/genprops$(EXEEXT) $(BUILDDIR)/$(ICUDT)pnames.icu
+- $(INVOKE) $(BINDIR)/genprops -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(BUILDDIR) -u $(UNICODE_VERSION)
+- $(INVOKE) $(BINDIR)/genprops --csource -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(OUTTMPDIR) -u $(UNICODE_VERSION)
++$(BUILDDIR)/uprops.icu: $(UNICODEDATADIR)/UnicodeData.txt $(UNICODEDATADIR)/BidiMirroring.txt $(BINDIR)-host/genprops$(EXEEXT) $(BUILDDIR)/$(ICUDT)pnames.icu
++ $(INVOKE) $(BINDIR)-host/genprops -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(BUILDDIR) -u $(UNICODE_VERSION)
++ $(INVOKE) $(BINDIR)-host/genprops --csource -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(OUTTMPDIR) -u $(UNICODE_VERSION)
+
+ # ubidi.icu
+-$(BUILDDIR)/ubidi.icu: $(UNICODEDATADIR)/UnicodeData.txt $(BINDIR)/genbidi$(EXEEXT)
+- $(INVOKE) $(BINDIR)/genbidi -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(BUILDDIR) -u $(UNICODE_VERSION)
+- $(INVOKE) $(BINDIR)/genbidi --csource -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(OUTTMPDIR) -u $(UNICODE_VERSION)
++$(BUILDDIR)/ubidi.icu: $(UNICODEDATADIR)/UnicodeData.txt $(BINDIR)-host/genbidi$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/genbidi -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(BUILDDIR) -u $(UNICODE_VERSION)
++ $(INVOKE) $(BINDIR)-host/genbidi --csource -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(OUTTMPDIR) -u $(UNICODE_VERSION)
+
+ # ucase.icu
+-$(BUILDDIR)/ucase.icu: $(UNICODEDATADIR)/UnicodeData.txt $(BINDIR)/gencase$(EXEEXT)
+- $(INVOKE) $(BINDIR)/gencase -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(BUILDDIR) -u $(UNICODE_VERSION)
+- $(INVOKE) $(BINDIR)/gencase --csource -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(OUTTMPDIR) -u $(UNICODE_VERSION)
++$(BUILDDIR)/ucase.icu: $(UNICODEDATADIR)/UnicodeData.txt $(BINDIR)-host/gencase$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/gencase -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(BUILDDIR) -u $(UNICODE_VERSION)
++ $(INVOKE) $(BINDIR)-host/gencase --csource -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(OUTTMPDIR) -u $(UNICODE_VERSION)
+
+ # pnames.icu
+-$(BUILDDIR)/pnames.icu: $(UNICODEDATADIR)/PropertyAliases.txt $(UNICODEDATADIR)/PropertyValueAliases.txt $(UNICODEDATADIR)/Blocks.txt $(COMINCDIR)/uscript.h $(COMINCDIR)/uchar.h $(BINDIR)/genpname$(EXEEXT)
+- $(INVOKE) $(BINDIR)/genpname -d $(BUILDDIR)
++$(BUILDDIR)/pnames.icu: $(UNICODEDATADIR)/PropertyAliases.txt $(UNICODEDATADIR)/PropertyValueAliases.txt $(UNICODEDATADIR)/Blocks.txt $(COMINCDIR)/uscript.h $(COMINCDIR)/uchar.h $(BINDIR)-host/genpname$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/genpname -d $(BUILDDIR)
+
+ # unorm.icu
+-$(BUILDDIR)/unorm.icu: $(UNICODEDATADIR)/UnicodeData.txt $(UNICODEDATADIR)/DerivedNormalizationProps.txt $(UNICODEDATADIR)/BidiMirroring.txt $(BINDIR)/gennorm$(EXEEXT) $(BUILDDIR)/$(ICUDT)pnames.icu $(BUILDDIR)/$(ICUDT)uprops.icu $(BUILDDIR)/$(ICUDT)ucase.icu
+- $(INVOKE) $(BINDIR)/gennorm -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(BUILDDIR) -u $(UNICODE_VERSION)
+- $(INVOKE) $(BINDIR)/gennorm --csource -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(OUTTMPDIR) -u $(UNICODE_VERSION)
++$(BUILDDIR)/unorm.icu: $(UNICODEDATADIR)/UnicodeData.txt $(UNICODEDATADIR)/DerivedNormalizationProps.txt $(UNICODEDATADIR)/BidiMirroring.txt $(BINDIR)-host/gennorm$(EXEEXT) $(BUILDDIR)/$(ICUDT)pnames.icu $(BUILDDIR)/$(ICUDT)uprops.icu $(BUILDDIR)/$(ICUDT)ucase.icu
++ $(INVOKE) $(BINDIR)-host/gennorm -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(BUILDDIR) -u $(UNICODE_VERSION)
++ $(INVOKE) $(BINDIR)-host/gennorm --csource -s $(UNICODEDATADIR) -i $(BUILDDIR) -d $(OUTTMPDIR) -u $(UNICODE_VERSION)
+
+ # ucadata.icu
+ # used to depend on $(BUILDDIR)/$(ICUDT)unorm.icu $(BUILDDIR)/$(ICUDT)ucase.icu
+ # see Jitterbug 4497
+-$(BUILDDIR)/ucadata.icu $(BUILDDIR)/$(ICUDT)invuca.icu: $(UNICODEDATADIR)/FractionalUCA.txt $(BINDIR)/genuca$(EXEEXT)
+- $(INVOKE) $(BINDIR)/genuca -s $(UNICODEDATADIR) -d $(BUILDDIR) -i $(BUILDDIR)
++$(BUILDDIR)/ucadata.icu $(BUILDDIR)/$(ICUDT)invuca.icu: $(UNICODEDATADIR)/FractionalUCA.txt $(BINDIR)-host/genuca$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/genuca -s $(UNICODEDATADIR) -d $(BUILDDIR) -i $(BUILDDIR)
+
+ # unames.icu
+-$(BUILDDIR)/unames.icu: $(UNICODEDATADIR)/UnicodeData.txt $(BINDIR)/gennames$(EXEEXT)
+- $(INVOKE) $(BINDIR)/gennames -1 -d $(BUILDDIR) $(UNICODEDATADIR)/UnicodeData.txt -u $(UNICODE_VERSION)
++$(BUILDDIR)/unames.icu: $(UNICODEDATADIR)/UnicodeData.txt $(BINDIR)-host/gennames$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/gennames -1 -d $(BUILDDIR) $(UNICODEDATADIR)/UnicodeData.txt -u $(UNICODE_VERSION)
+
+ # cnvalias.icu
+-$(BUILDDIR)/cnvalias.icu: $(UCMSRCDIR)/convrtrs.txt $(BINDIR)/gencnval$(EXEEXT)
+- $(INVOKE) $(BINDIR)/gencnval -d $(BUILDDIR) $(UCMSRCDIR)/convrtrs.txt
++$(BUILDDIR)/cnvalias.icu: $(UCMSRCDIR)/convrtrs.txt $(BINDIR)-host/gencnval$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/gencnval -d $(BUILDDIR) $(UCMSRCDIR)/convrtrs.txt
+
+ # uidna.spp
+-$(BUILDDIR)/uidna.spp: $(MISCSRCDIR)/NamePrepProfile.txt $(BINDIR)/gensprep$(EXEEXT) $(BUILDDIR)/unames.icu $(BUILDDIR)/pnames.icu
+- $(INVOKE) $(BINDIR)/gensprep -d $(BUILDDIR) -i $(BUILDDIR) -s $(MISCSRCDIR) -b uidna -n $(UNICODEDATADIR) -u 3.2.0 -k NamePrepProfile.txt
++$(BUILDDIR)/uidna.spp: $(MISCSRCDIR)/NamePrepProfile.txt $(BINDIR)-host/gensprep$(EXEEXT) $(BUILDDIR)/unames.icu $(BUILDDIR)/pnames.icu
++ $(INVOKE) $(BINDIR)-host/gensprep -d $(BUILDDIR) -i $(BUILDDIR) -s $(MISCSRCDIR) -b uidna -n $(UNICODEDATADIR) -u 3.2.0 -k NamePrepProfile.txt
+
+ #################################################### BRK
+ # BRK FILES
+@@ -424,29 +424,29 @@ $(BUILDDIR)/uidna.spp: $(MISCSRCDIR)/Nam
+ #thaidict.brk: $(SRCDATADIR)/thaidict.brk
+ # $(RMV) $@ && ln -s $(BUILDDIR) $@
+
+-$(BRKBLDDIR)/%.brk: $(BRKSRCDIR)/%.txt $(BINDIR)/genbrk$(EXEEXT) $(DAT_FILES)
+- $(INVOKE) $(BINDIR)/genbrk -c -i $(BUILDDIR) -r $< -o $@
++$(BRKBLDDIR)/%.brk: $(BRKSRCDIR)/%.txt $(BINDIR)-host/genbrk$(EXEEXT) $(DAT_FILES)
++ $(INVOKE) $(BINDIR)-host/genbrk -c -i $(BUILDDIR) -r $< -o $@
+
+ #################################################### CTD
+ # CTD FILES
+
+-$(BRKBLDDIR)/%.ctd: $(BRKSRCDIR)/%.txt $(BINDIR)/genctd$(EXEEXT) $(DAT_FILES)
+- $(INVOKE) $(BINDIR)/genctd -c -i $(BUILDDIR) -o $@ $<
++$(BRKBLDDIR)/%.ctd: $(BRKSRCDIR)/%.txt $(BINDIR)-host/genctd$(EXEEXT) $(DAT_FILES)
++ $(INVOKE) $(BINDIR)-host/genctd -c -i $(BUILDDIR) -o $@ $<
+
+ #################################################### CNV
+ # CNV FILES
+-$(BUILDDIR)/%.cnv: $(UCMSRCDIR)/%.ucm $(BINDIR)/makeconv$(EXEEXT)
+- $(INVOKE) $(BINDIR)/makeconv -c -d $(BUILDDIR) $(UCMSRCDIR)/$(<F)
++$(BUILDDIR)/%.cnv: $(UCMSRCDIR)/%.ucm $(BINDIR)-host/makeconv$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/makeconv -c -d $(BUILDDIR) $(UCMSRCDIR)/$(<F)
+
+ #################################################### RES
+ # RES FILES
+
+ ### collation res
+-$(COLBLDDIR)/%.res: $(COLSRCDIR)/%.txt $(BINDIR)/genrb$(EXEEXT) $(DAT_FILES)
+- $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(COLSRCDIR) -d $(COLBLDDIR) $(<F)
++$(COLBLDDIR)/%.res: $(COLSRCDIR)/%.txt $(BINDIR)-host/genrb$(EXEEXT) $(DAT_FILES)
++ $(INVOKE) $(BINDIR)-host/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(COLSRCDIR) -d $(COLBLDDIR) $(<F)
+
+-$(COLBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(COLLATION_TREE)/$(INDEX_NAME).txt $(BINDIR)/genrb$(EXEEXT)
+- $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(COLLATION_TREE) -d $(COLBLDDIR) $(INDEX_NAME).txt
++$(COLBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(COLLATION_TREE)/$(INDEX_NAME).txt $(BINDIR)-host/genrb$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(COLLATION_TREE) -d $(COLBLDDIR) $(INDEX_NAME).txt
+
+ $(COLLATION_INDEX_FILE): $(SRCLISTDEPS)
+ @echo "generating $@ (list of installed collation locales)"; \
+@@ -461,11 +461,11 @@ $(COLLATION_INDEX_FILE): $(SRCLISTDEPS)
+ echo "}" >> $@;
+
+ ### brk res
+-$(BRKBLDDIR)/%.res: $(BRKSRCDIR)/%.txt $(BINDIR)/genrb$(EXEEXT) $(BRK_FILES) $(DAT_FILES)
+- $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(BRKSRCDIR) -d $(BRKBLDDIR) $(<F)
++$(BRKBLDDIR)/%.res: $(BRKSRCDIR)/%.txt $(BINDIR)-host/genrb$(EXEEXT) $(BRK_FILES) $(DAT_FILES)
++ $(INVOKE) $(BINDIR)-host/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(BRKSRCDIR) -d $(BRKBLDDIR) $(<F)
+
+-$(BRKBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(BREAK_TREE)/$(INDEX_NAME).txt $(BINDIR)/genrb$(EXEEXT)
+- $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(BREAK_TREE) -d $(BRKBLDDIR) $(INDEX_NAME).txt
++$(BRKBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(BREAK_TREE)/$(INDEX_NAME).txt $(BINDIR)-host/genrb$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(BREAK_TREE) -d $(BRKBLDDIR) $(INDEX_NAME).txt
+
+ $(BRK_RES_INDEX_FILE): $(SRCLISTDEPS)
+ @echo "generating $@ (list of installed break locales)"; \
+@@ -480,11 +480,11 @@ $(BRK_RES_INDEX_FILE): $(SRCLISTDEPS)
+ echo "}" >> $@;
+
+ ### RBNF res
+-$(RBNFBLDDIR)/%.res: $(RBNFSRCDIR)/%.txt $(BINDIR)/genrb$(EXEEXT) $(DAT_FILES)
+- $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(RBNFSRCDIR) -d $(RBNFBLDDIR) $(<F)
++$(RBNFBLDDIR)/%.res: $(RBNFSRCDIR)/%.txt $(BINDIR)-host/genrb$(EXEEXT) $(DAT_FILES)
++ $(INVOKE) $(BINDIR)-host/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(RBNFSRCDIR) -d $(RBNFBLDDIR) $(<F)
+
+-$(RBNFBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(RBNF_TREE)/$(INDEX_NAME).txt $(BINDIR)/genrb$(EXEEXT)
+- $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(RBNF_TREE) -d $(RBNFBLDDIR) $(INDEX_NAME).txt
++$(RBNFBLDDIR)/$(INDEX_NAME).res: $(OUTTMPDIR)/$(RBNF_TREE)/$(INDEX_NAME).txt $(BINDIR)-host/genrb$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(OUTTMPDIR)/$(RBNF_TREE) -d $(RBNFBLDDIR) $(INDEX_NAME).txt
+
+ $(RBNF_INDEX_FILE): $(SRCLISTDEPS)
+ @echo "generating $@ (list of installed RBNF locales)"; \
+@@ -499,14 +499,14 @@ $(RBNF_INDEX_FILE): $(SRCLISTDEPS)
+ echo "}" >> $@;
+
+ ### TRANSLIT res
+-$(TRANSLITBLDDIR)/%.res: $(TRANSLITSRCDIR)/%.txt $(BINDIR)/genrb$(EXEEXT) $(DAT_FILES)
+- $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(TRANSLITSRCDIR) -d $(TRANSLITBLDDIR) $(<F)
++$(TRANSLITBLDDIR)/%.res: $(TRANSLITSRCDIR)/%.txt $(BINDIR)-host/genrb$(EXEEXT) $(DAT_FILES)
++ $(INVOKE) $(BINDIR)-host/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(TRANSLITSRCDIR) -d $(TRANSLITBLDDIR) $(<F)
+
+ ### normal (locale) res
+ all-RES: $(RES_FILES)
+
+-$(BUILDDIR)/%.res: $(LOCSRCDIR)/%.txt $(BINDIR)/genrb$(EXEEXT) $(DAT_FILES)
+- $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(LOCSRCDIR) -d $(BUILDDIR) $(<F)
++$(BUILDDIR)/%.res: $(LOCSRCDIR)/%.txt $(BINDIR)-host/genrb$(EXEEXT) $(DAT_FILES)
++ $(INVOKE) $(BINDIR)-host/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(LOCSRCDIR) -d $(BUILDDIR) $(<F)
+
+ # if the tzcode directory contains a new tzdata*.tar.gz file, use it for zoneinfo.txt
+ TZDATA = $(firstword $(wildcard $(top_builddir)/tools/tzcode/tzdata*.tar.gz) $(wildcard $(top_srcdir)/tools/tzcode/tzdata*.tar.gz))
+@@ -518,9 +518,9 @@ ZONEINFO=$(TZCODE_DIR)/zoneinfo.txt
+
+ # Override the normal genrb for zoneinfo.txt to always pull from
+ # icu/source/tools/tzcode/zoneinfo.txt
+-$(BUILDDIR)/zoneinfo.res: $(ZONEINFO) $(BINDIR)/genrb$(EXEEXT)
++$(BUILDDIR)/zoneinfo.res: $(ZONEINFO) $(BINDIR)-host/genrb$(EXEEXT)
+ @echo Note: $(MISCSRCDIR)/zoneinfo.txt is IGNORED because $(TZDATA) is present.
+- $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -q -i $(BUILDDIR) -d $(BUILDDIR) $(ZONEINFO)
++ $(INVOKE) $(BINDIR)-host/genrb $(GENRBOPTS) -q -i $(BUILDDIR) -d $(BUILDDIR) $(ZONEINFO)
+
+ # Create the tzcode tool and zoneinfo.txt as needed.
+ $(ZONEINFO): $(TZDATA)
+@@ -531,8 +531,8 @@ $(ZONEINFO): $(TZDATA)
+ endif
+
+ # zoneinfo has some issues. Ignore some warnings with -q
+-$(BUILDDIR)/%.res: $(MISCSRCDIR)/%.txt $(BINDIR)/genrb$(EXEEXT)
+- $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -q -i $(BUILDDIR) -s $(MISCSRCDIR) -d $(BUILDDIR) $(<F)
++$(BUILDDIR)/%.res: $(MISCSRCDIR)/%.txt $(BINDIR)-host/genrb$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/genrb $(GENRBOPTS) -q -i $(BUILDDIR) -s $(MISCSRCDIR) -d $(BUILDDIR) $(<F)
+
+
+
+@@ -552,8 +552,8 @@ $(INDEX_FILE): $(SRCLISTDEPS)
+ clean-resindex:
+ -$(RMV) $(BUILDDIR)/$(INDEX_NAME).txt $(PKGDATA_LIST)
+
+-$(INDEX_RES_FILE): $(INDEX_FILE) $(BINDIR)/genrb$(EXEEXT)
+- $(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -d $(BUILDDIR) $(INDEX_FILE)
++$(INDEX_RES_FILE): $(INDEX_FILE) $(BINDIR)-host/genrb$(EXEEXT)
++ $(INVOKE) $(BINDIR)-host/genrb $(GENRBOPTS) -i $(BUILDDIR) -d $(BUILDDIR) $(INDEX_FILE)
+
+ # Starting with ICU4C 3.4, the core Unicode properties files (uprops.icu, ucase.icu, ubidi.icu, unorm.icu)
+ # are hardcoded in the common DLL and therefore not included in the data package any more.
+diff -rup icu/source/extra/uconv/Makefile.in icu/source/extra/uconv/Makefile.in
+--- source/extra/uconv/Makefile.in 2007-12-12 13:57:20.000000000 -0500
++++ source/extra/uconv/Makefile.in 2008-02-03 12:36:48.000000000 -0500
+@@ -40,7 +40,7 @@ ALL_MAN_FILES = $(TARGET_STUB_NAME).$(SE
+ CLEANFILES = *~ $(DEPS) $(ALL_MAN_FILES)
+
+ ## Target information
+-TARGET = $(BINDIR)/$(TARGET_STUB_NAME)$(EXEEXT)
++TARGET = $(BINDIR)-host/$(TARGET_STUB_NAME)$(EXEEXT)
+
+ CPPFLAGS += -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(srcdir)/../toolutil
+ LIBS = $(LIBICUI18N) $(LIBICUUC) $(DEFAULT_LIBS) $(LIB_M)
+@@ -106,7 +106,7 @@ clean-local: resclean
+ $(RMV) $(OBJECTS) $(TARGET)
+
+ resclean:
+- @#-$(INVOKE) $(BINDIR)/pkgdata --clean -p $(RESDIR) -O pkgdata.inc -m $(PKGMODE) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst
++ @#-$(INVOKE) $(BINDIR)-host/pkgdata --clean -p $(RESDIR) -O pkgdata.inc -m $(PKGMODE) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst
+ $(RMV) pkgdata.inc $(RESDIR)
+
+ distclean-local: clean-local
+@@ -138,7 +138,7 @@ endif
+
+
+ package-resfiles: $(RESDIR)/$(RESDIR).lst pkgdata.inc
+- $(INVOKE) $(PKGDATA_INVOKE_OPTS) $(BINDIR)/pkgdata -p $(MSGNAME) $(PKGDATA_OPTS) -m $(PKGMODE) -s $(RESDIR) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst
++ $(INVOKE) $(PKGDATA_INVOKE_OPTS) $(BINDIR)-host/pkgdata -p $(MSGNAME) $(PKGDATA_OPTS) -m $(PKGMODE) -s $(RESDIR) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst
+
+ $(RESDIR)/$(RESDIR).lst: Makefile $(srcdir)/resfiles.mk
+ @$(MKINSTALLDIRS) $(RESDIR)
+@@ -151,7 +151,7 @@ $(RESDIR)/$(RESDIR).lst: Makefile $(srcd
+ ifneq ($(UCONVMSG_MODE),static)
+ install-resfiles: $(RESFILES)
+ $(MKINSTALLDIRS) $(DESTDIR)$(ICUDATA_DIR)
+- $(INVOKE) $(BINDIR)/pkgdata -p $(RESDIR) -O pkgdata.inc -m $(PKGMODE) -d $(RESDIR) -I $(INSTALLTO) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst
++ $(INVOKE) $(BINDIR)-host/pkgdata -p $(RESDIR) -O pkgdata.inc -m $(PKGMODE) -d $(RESDIR) -I $(INSTALLTO) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst
+ else
+ install-resfiles:
+ endif
+@@ -161,7 +161,7 @@ $(UCONVMSG_LIB): resfiles
+
+ $(MSGNAME)/%.res: $(srcdir)/$(RESOURCESDIR)/%.txt
+ $(MKINSTALLDIRS) $(@D)
+- $(INVOKE) $(BINDIR)/genrb -e UTF-8 -s $(^D) -d $(@D) $(^F)
++ $(INVOKE) $(BINDIR)-host/genrb -e UTF-8 -s $(^D) -d $(@D) $(^F)
+
+ install-man: $(ALL_MAN_FILES)
+ $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION)
+diff -rup icu/source/extra/uconv/pkgdata.inc.in icu/source/extra/uconv/pkgdata.inc.in
+--- source/extra/uconv/pkgdata.inc.in 2007-12-12 13:57:20.000000000 -0500
++++ source/extra/uconv/pkgdata.inc.in 2008-02-03 12:37:13.000000000 -0500
+@@ -55,8 +55,8 @@ platform=@platform@
+
+ ##### Add the following to source/config/Makefile.in
+
+-GENCCODE=$(BINDIR)/genccode
+-GENCMN=$(BINDIR)/gencmn
+-ICUPKG=$(BINDIR)/icupkg
++GENCCODE=$(BINDIR)-host/genccode
++GENCMN=$(BINDIR)-host/gencmn
++ICUPKG=$(BINDIR)-host/icupkg
+
+
+diff -rup icu/source/icudefs.mk.in icu/source/icudefs.mk.in
+--- source/icudefs.mk.in 2007-12-12 13:58:06.000000000 -0500
++++ source/icudefs.mk.in 2008-02-03 12:37:47.000000000 -0500
+@@ -226,7 +226,7 @@ LIBICUTOOLUTIL= -L$(LIBDIR) -l$(STATIC_P
+ LIBICUIO= -L$(LIBDIR) -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
+
+ # Invoke, set library path for all ICU libraries.
+-INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)$(LIBDIR):$(top_builddir)/stubdata:$(top_builddir)/tools/ctestfw:$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER)
++INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)$(LIBDIR)-host:$(top_builddir)/stubdata:$(top_builddir)/tools/ctestfw:$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER)
+
+ # Platform-specific setup
+ include @platform_make_fragment@
diff --git a/package/icu/icu.mk b/package/icu/icu.mk
new file mode 100644
index 000000000..bce969603
--- /dev/null
+++ b/package/icu/icu.mk
@@ -0,0 +1,77 @@
+#############################################################
+#
+# ICU International Components for Unicode
+#
+#############################################################
+
+ICU_VERSION:=4c-3_8_1
+ICU_VERSION_NUM:=3.8.1
+ICU_SOURCE:=icu$(ICU_VERSION)-src.tgz
+ICU_SITE:=http://download.icu-project.org/files/icu4c/$(ICU_VERSION_NUM)
+ICU_CAT:=$(ZCAT)
+ICU_DIR:=$(BUILD_DIR)/icu/source
+ICU_HOST_DIR:=$(BUILD_DIR)/icu-host/source
+
+$(DL_DIR)/$(ICU_SOURCE):
+ $(WGET) -P $(DL_DIR) $(ICU_SITE)/$(ICU_SOURCE)
+
+icu-source: $(DL_DIR)/$(ICU_SOURCE)
+
+$(ICU_DIR)/.unpacked: $(DL_DIR)/$(ICU_SOURCE)
+ $(ICU_CAT) $(DL_DIR)/$(ICU_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ $(CONFIG_UPDATE) $(ICU_DIR)
+ cp -a $(BUILD_DIR)/icu $(BUILD_DIR)/icu-host
+ toolchain/patch-kernel.sh $(ICU_DIR) package/icu/ \*.patch
+ touch $(ICU_DIR)/.unpacked
+
+$(ICU_HOST_DIR)/.configured: $(ICU_DIR)/.unpacked
+ (cd $(ICU_HOST_DIR); ./configure \
+ --prefix=/usr;);
+ touch $(ICU_HOST_DIR)/.configured
+
+$(ICU_DIR)/.configured: $(ICU_HOST_DIR)/.configured
+ (cd $(ICU_DIR); rm -rf config.cache; \
+ $(TARGET_CONFIGURE_OPTS) \
+ $(TARGET_CONFIGURE_ARGS) \
+ CXX=$(TARGET_CXX) \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --prefix=/usr \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --enable-samples \
+ );
+ touch $(ICU_DIR)/.configured
+
+$(ICU_HOST_DIR)/.done: $(ICU_DIR)/.configured
+ $(MAKE) -C $(ICU_HOST_DIR)
+ ln -s -f $(ICU_HOST_DIR)/bin $(ICU_DIR)/bin-host
+ ln -s -f $(ICU_HOST_DIR)/lib $(ICU_DIR)/lib-host
+ touch $(ICU_HOST_DIR)/.done
+
+$(ICU_DIR)/.done: $(ICU_HOST_DIR)/.done
+ $(MAKE) -C $(ICU_DIR)
+ $(MAKE) -C $(ICU_DIR) install DESTDIR=$(STAGING_DIR)
+ $(MAKE) -C $(ICU_DIR) install DESTDIR=$(TARGET_DIR)
+ $(SED) "s,^default_prefix=.*,default_prefix=\'$(STAGING_DIR)/usr\',g" $(STAGING_DIR)/usr/bin/icu-config
+ touch $(ICU_DIR)/.done
+
+icu: uclibc $(ICU_DIR)/.done
+
+icu-clean:
+ rm -f $(TARGET_DIR)/bin/icu
+ -$(MAKE) -C $(ICU_DIR) clean
+
+icu-dirclean:
+ rm -rf $(ICU_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_ICU)),y)
+TARGETS+=icu
+endif