diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..ca9a3da
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,31 @@
+#
+#    Copyright (c) 2010-2011 Nest, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the makefile for the International Components for
+#      Unicode (ICU) library.
+#
+#      Per "icu/readme.html", the correct way to cross-compile ICU is
+#      is build first a host version and then to build a target version
+#      and to point the target version at that host version.
+#
+
+.NOTPARALLEL:
+
+include pre.mak
+
+SubMakefiles  = Makefile.host
+
+ifneq ($(BUILD_FEATURE_SIMULATOR),1)
+SubMakefiles += Makefile.target
+endif
+
+include post.mak
diff --git a/Makefile.common b/Makefile.common
new file mode 100644
index 0000000..fc91f85
--- /dev/null
+++ b/Makefile.common
@@ -0,0 +1,58 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is a make file header defining macros and targets
+#      for customizing ICU on a per-build basis.
+#
+
+ICUDataConfSUFFIX		:= local.mk
+
+ICUDataConfSTEMS		:= brkitr/brk	 \
+				   brkitr/brs	 \
+				   coll/col	 \
+				   curr/res	 \
+				   lang/res	 \
+				   locales/res	 \
+				   misc/misc	 \
+				   rbnf/rbnf	 \
+				   region/res	 \
+				   sprep/sprep	 \
+				   translit/trns \
+				   mappings/ucm	 \
+				   zone/res
+
+ICUDataConfFiles		= $(addsuffix $(ICUDataConfSUFFIX),$(ICUDataConfSTEMS))
+
+ICUDataConfSourceDir		:= ./configs
+
+ICUDataConfSourcePaths		= $(addprefix $(call Slashify,$(ICUDataConfSourceDir)),$(ICUDataConfFiles))
+
+ICUDataConfBuildDir		= $(BuildDirectory)/data
+
+ICUDataConfBuildPaths		= $(addprefix $(call Slashify,$(ICUDataConfBuildDir)),$(ICUDataConfFiles))
+
+ICUDataConfMaybeSourcePaths 	= $(wildcard $(ICUDataConfSourcePaths))
+
+ICUDataConfMaybeFiles		= $(subst $(call Slashify,$(ICUDataConfSourceDir)),,$(ICUDataConfMaybeSourcePaths))
+
+ICUDataConfMaybeBuildPaths	= $(addprefix $(call Slashify,$(ICUDataConfBuildDir)),$(ICUDataConfMaybeFiles))
+
+$(ICUDataConfMaybeBuildPaths): $(ICUDataConfBuildDir)/%: $(ICUDataConfSourceDir)/%
+	$(Echo) "Creating \"$(call GenerateBuildRootEllipsedPath,$(@D))\""
+	$(Verbose)$(MKDIR) $(MKDIRFLAGS) $(@D)
+	$(copy-result)
+
+# Ensure that the static implicit pattern rule above doesn't become
+# the default target goal. Instead, use the usual default, 'all'.
+
+.DEFAULT_GOAL           := all
+
diff --git a/Makefile.host b/Makefile.host
new file mode 100644
index 0000000..2081a8c
--- /dev/null
+++ b/Makefile.host
@@ -0,0 +1,126 @@
+#
+#    Copyright (c) 2010-2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the host make file for the International
+#      Components for Unicode (ICU) library.
+#
+
+# To cross-compile, ICU needs to be bootstrapped for whatever the
+# native build host is. In our environment, that's the simulator.  At
+# some point in the future, we should tease apart truly building for
+# the simulator and just building host-native stuff to support a build
+# target.
+
+#TODO QUESTION what is this?  diamondsim // diamond3sim?
+
+ifneq ($(BUILD_FEATURE_SIMULATOR),1)
+override BuildProduct	:= diamondsim
+SaveBuildMode		:= $(BuildMode)
+override BuildMode	:= snapshot
+endif
+
+include pre.mak
+include ./Makefile.common
+
+PackageName		:= icu
+
+PackageExtension	:= tar.gz
+PackageSeparator	:= -
+
+PackagePatchArgs	:= -p1
+
+PackageArchive		:= $(PackageName).$(PackageExtension)
+PackageSourceDir	:= $(PackageName)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+CleanPaths		+= $(PackageLicenseFile)
+
+SOURCEDIRS                      = $(PackageSourceDir) configs
+$(PackageSourceDir)_RULE_TARGET = $(BuildDirectory)/configure
+configs_RULE_TARGET             = $(BuildDirectory)/configure
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(PackageSourceDir)/license.html: $(BuildDirectory)/source
+
+$(PackageLicenseFile): $(PackageSourceDir)/license.html
+	$(copy-result)
+
+# Extract the source from the archive and apply patches, if any.
+
+$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths)
+	$(expand-and-patch-package)
+
+# Prepare the sources.
+
+$(BuildDirectory)/source: | $(PackageSourceDir)
+	$(Verbose)touch $@
+
+# Patch the sources, if necessary.
+
+$(BuildDirectory)/patch: $(BuildDirectory)/source
+	$(Verbose)touch $@
+
+# Generate the package build makefile.
+
+# Configure the source for building.
+
+$(ICUDataConfMaybeBuildPaths): | $(BuildDirectory)
+
+$(BuildDirectory)/configure: $(BuildDirectory)/source $(ICUDataConfMaybeBuildPaths) | $(PackageSourceDir) $(BuildDirectory) $(ResultDirectory)
+	$(Verbose)cd $(BuildDirectory) && \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	$(CURDIR)/$(PackageSourceDir)/source/configure \
+	--prefix=/usr \
+	--sysconfdir=/etc \
+	--localstatedir=/var \
+	--disable-extras \
+	--disable-icuio \
+	--disable-layout \
+	--disable-tests \
+	--disable-samples
+	$(Verbose)touch $@
+
+# Build the source.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/build: $(BuildDirectory)/configure
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) all
+	$(Verbose)touch $@
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/stage: $(BuildDirectory)/build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) DESTDIR=$(ResultDirectory) install
+	$(Verbose)touch $@
+
+.PHONY: stage
+stage: $(BuildDirectory)/stage
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
+
+ifneq ($(BUILD_FEATURE_SIMULATOR),1)
+override BuildMode	:= $(SaveBuildMode)
+endif
diff --git a/Makefile.target b/Makefile.target
new file mode 100644
index 0000000..96a08f4
--- /dev/null
+++ b/Makefile.target
@@ -0,0 +1,120 @@
+#
+#    Copyright (c) 2010-2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the target make file for the International
+#      Components for Unicode (ICU) library.
+#
+
+include pre.mak
+include ./Makefile.common
+
+PackageName		:= icu
+
+PackageExtension	:= tar.gz
+PackageSeparator	:= -
+
+PackagePatchArgs	:= -p1
+
+PackageArchive		:= $(PackageName).$(PackageExtension)
+PackageSourceDir	:= $(PackageName)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+# Find where the native host boot strap build is at. This is required
+# to cross-compile ICU.
+#
+# This is beyond ugly but expedient.
+
+ICUHostBuildPath	:= $(call Slashify,$(CURDIR))$(call Deslashify,$(dir $(firstword $(shell find $(BuildBaseDirectory)/Makefile.host -type f -name "icudefs.mk"))))
+
+CleanPaths		+= $(PackageLicenseFile)
+
+SOURCEDIRS                      = $(PackageSourceDir) configs
+$(PackageSourceDir)_RULE_TARGET = $(BuildDirectory)/configure
+configs_RULE_TARGET             = $(BuildDirectory)/configure
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(PackageSourceDir)/license.html: $(BuildDirectory)/source
+
+$(PackageLicenseFile): $(PackageSourceDir)/license.html
+	$(copy-result)
+
+# Extract the source from the archive and apply patches, if any.
+
+$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths)
+	$(expand-and-patch-package)
+
+# Prepare the sources.
+
+$(BuildDirectory)/source: | $(PackageSourceDir)
+	$(Verbose)touch $@
+
+# Patch the sources, if necessary.
+
+$(BuildDirectory)/patch: $(BuildDirectory)/source
+	$(Verbose)touch $@
+
+# Generate the package build makefile.
+
+# Configure the source for building.
+
+$(ICUDataConfMaybeBuildPaths): | $(BuildDirectory)
+
+$(BuildDirectory)/configure: $(BuildDirectory)/source $(ICUDataConfMaybeBuildPaths) | $(PackageSourceDir) $(BuildDirectory) $(ResultDirectory) $(ICUHostBuildPath)
+	$(Verbose)cd $(BuildDirectory) && \
+	$(CURDIR)/$(PackageSourceDir)/source/configure \
+	CC="$(filter-out $(TOOLCHAIN_EXTRA_CFLAGS),$(CC))" CXX="$(filter-out $(TOOLCHAIN_EXTRA_CFLAGS),$(CXX))" AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	CPPFLAGS="$(CPPOPTFLAGS)" \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	--with-cross-build=$(ICUHostBuildPath) \
+	--prefix=/usr \
+	--sysconfdir=/etc \
+	--localstatedir=/var \
+	--disable-extras \
+	--disable-icuio \
+	--disable-layout \
+	--disable-tests \
+	--disable-samples
+	$(Verbose)touch $@
+
+# Build the source.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/build: $(BuildDirectory)/configure
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) all
+	$(Verbose)touch $@
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/stage: $(BuildDirectory)/build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) DESTDIR=$(ResultDirectory) install
+	$(Verbose)touch $@
+
+.PHONY: stage
+stage: $(BuildDirectory)/stage
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/configs/brkitr/brklocal.mk b/configs/brkitr/brklocal.mk
new file mode 100644
index 0000000..892b88f
--- /dev/null
+++ b/configs/brkitr/brklocal.mk
@@ -0,0 +1,16 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
diff --git a/configs/brkitr/brslocal.mk b/configs/brkitr/brslocal.mk
new file mode 100644
index 0000000..892b88f
--- /dev/null
+++ b/configs/brkitr/brslocal.mk
@@ -0,0 +1,16 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
diff --git a/configs/coll/collocal.mk b/configs/coll/collocal.mk
new file mode 100644
index 0000000..f8ffe5b
--- /dev/null
+++ b/configs/coll/collocal.mk
@@ -0,0 +1,17 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
+COLLATION_SOURCE = en_US.txt en_CA.txt es_US.txt es.txt es_MX.txt fr_CA.txt fr.txt
diff --git a/configs/curr/reslocal.mk b/configs/curr/reslocal.mk
new file mode 100644
index 0000000..892b88f
--- /dev/null
+++ b/configs/curr/reslocal.mk
@@ -0,0 +1,16 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
diff --git a/configs/lang/reslocal.mk b/configs/lang/reslocal.mk
new file mode 100644
index 0000000..892b88f
--- /dev/null
+++ b/configs/lang/reslocal.mk
@@ -0,0 +1,16 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
diff --git a/configs/locales/reslocal.mk b/configs/locales/reslocal.mk
new file mode 100644
index 0000000..b79ca56
--- /dev/null
+++ b/configs/locales/reslocal.mk
@@ -0,0 +1,17 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
+GENRB_SOURCE = en_US.txt en_CA.txt es_US.txt es.txt es_MX.txt fr_CA.txt fr.txt
diff --git a/configs/mappings/ucmlocal.mk b/configs/mappings/ucmlocal.mk
new file mode 100644
index 0000000..892b88f
--- /dev/null
+++ b/configs/mappings/ucmlocal.mk
@@ -0,0 +1,16 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
diff --git a/configs/misc/misclocal.mk b/configs/misc/misclocal.mk
new file mode 100644
index 0000000..892b88f
--- /dev/null
+++ b/configs/misc/misclocal.mk
@@ -0,0 +1,16 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
diff --git a/configs/rbnf/rbnflocal.mk b/configs/rbnf/rbnflocal.mk
new file mode 100644
index 0000000..892b88f
--- /dev/null
+++ b/configs/rbnf/rbnflocal.mk
@@ -0,0 +1,16 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
diff --git a/configs/region/reslocal.mk b/configs/region/reslocal.mk
new file mode 100644
index 0000000..e946b61
--- /dev/null
+++ b/configs/region/reslocal.mk
@@ -0,0 +1,17 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
+REGION_SOURCE = en.txt es.txt fr.txt
diff --git a/configs/sprep/spreplocal.mk b/configs/sprep/spreplocal.mk
new file mode 100644
index 0000000..892b88f
--- /dev/null
+++ b/configs/sprep/spreplocal.mk
@@ -0,0 +1,16 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
diff --git a/configs/translit/trnslocal.mk b/configs/translit/trnslocal.mk
new file mode 100644
index 0000000..da481f8
--- /dev/null
+++ b/configs/translit/trnslocal.mk
@@ -0,0 +1,17 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
+ TRANLIST_SOURCE = el.txt en.txt
diff --git a/configs/zone/reslocal.mk b/configs/zone/reslocal.mk
new file mode 100644
index 0000000..d3d63c4
--- /dev/null
+++ b/configs/zone/reslocal.mk
@@ -0,0 +1,17 @@
+#
+#    Copyright (c) 2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the vendor- and site-specific configuration for
+#      ICU.
+#
+
+ZONE_SOURCE = en_CA.txt en.txt es.txt fr.txt fr_CA.txt
diff --git a/icu.patches/icu-00.description b/icu.patches/icu-00.description
new file mode 100644
index 0000000..f6721ab
--- /dev/null
+++ b/icu.patches/icu-00.description
@@ -0,0 +1 @@
+This patch changes gcc assembler syntax to use % not @; % works for both x86 and ARM
diff --git a/icu.patches/icu-00.patch b/icu.patches/icu-00.patch
new file mode 100644
index 0000000..b7237c0
--- /dev/null
+++ b/icu.patches/icu-00.patch
@@ -0,0 +1,23 @@
+diff -aruN a/source/tools/toolutil/pkg_genc.c b/source/tools/toolutil/pkg_genc.c
+--- a/source/tools/toolutil/pkg_genc.c	2010-04-28 08:27:46.000000000 -0700
++++ b/source/tools/toolutil/pkg_genc.c	2010-10-01 12:55:24.850893589 -0700
+@@ -1,5 +1,5 @@
+ /******************************************************************************
+- *   Copyright (C) 2009, International Business Machines
++ *   Copyright (C) 2009-2010, International Business Machines
+  *   Corporation and others.  All Rights Reserved.
+  *******************************************************************************
+  */
+@@ -118,10 +118,10 @@
+ } assemblyHeader[] = {
+     {"gcc",
+         ".globl %s\n"
+-        "\t.section .note.GNU-stack,\"\",@progbits\n"
++        "\t.section .note.GNU-stack,\"\",%%progbits\n"
+         "\t.section .rodata\n"
+         "\t.align 8\n" /* Either align 8 bytes or 2^8 (256) bytes. 8 bytes is needed. */
+-        "\t.type %s,@object\n"
++        "\t.type %s,%%object\n"
+         "%s:\n\n",
+ 
+         ".long ","",HEX_0X
diff --git a/icu.patches/icu-00.url b/icu.patches/icu-00.url
new file mode 100644
index 0000000..a553fa8
--- /dev/null
+++ b/icu.patches/icu-00.url
@@ -0,0 +1 @@
+https://bugs.icu-project.org/trac/changeset/28107
diff --git a/icu.patches/icu-50.description b/icu.patches/icu-50.description
new file mode 100644
index 0000000..6050fa0
--- /dev/null
+++ b/icu.patches/icu-50.description
@@ -0,0 +1 @@
+This patch ensures a link against the static libgcc is made to resolve a hidden ARM-only assembly-level primitive symbol.
diff --git a/icu.patches/icu-50.patch b/icu.patches/icu-50.patch
new file mode 100644
index 0000000..dadd6cf
--- /dev/null
+++ b/icu.patches/icu-50.patch
@@ -0,0 +1,12 @@
+diff -aruN a/source/common/Makefile.in b/source/common/Makefile.in
+--- a/source/common/Makefile.in	2010-09-30 17:53:44.194447128 -0700
++++ b/source/common/Makefile.in	2010-04-28 08:27:40.000000000 -0700
+@@ -192,7 +192,7 @@
+ 
+ ifneq ($(ENABLE_SHARED),)
+ $(SHARED_OBJECT): $(OBJECTS) $(SO_VERSION_DATA)
+-	$(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS)
++	$(SHLIB.cc) $(LD_SONAME) $(OUTOPT)$@ $^ $(LIBS) -lgcc
+ 
+ ifeq ($(OS390BATCH),1)
+ $(BATCH_TARGET):$(OBJECTS)
diff --git a/icu.patches/icu-51.description b/icu.patches/icu-51.description
new file mode 100644
index 0000000..d79b67d
--- /dev/null
+++ b/icu.patches/icu-51.description
@@ -0,0 +1 @@
+This patch adds support for applying ICU customizations on a per-build basis rather than on a per-source basis.
diff --git a/icu.patches/icu-51.patch b/icu.patches/icu-51.patch
new file mode 100644
index 0000000..f9fd8d7
--- /dev/null
+++ b/icu.patches/icu-51.patch
@@ -0,0 +1,110 @@
+diff -aruN a/source/data/Makefile.in b/source/data/Makefile.in
+--- a/source/data/Makefile.in	2010-04-28 08:28:50.000000000 -0700
++++ b/source/data/Makefile.in	2012-04-26 10:00:26.283892893 -0700
+@@ -66,6 +66,8 @@
+ OUTDIR=$(top_builddir)/data/out
+ endif
+ 
++CONFDIR=$(top_builddir)/data
++
+ OUTTMPDIR=$(OUTDIR)/tmp
+ MAINBUILDDIR=$(OUTDIR)/build
+ BUILDDIR=$(MAINBUILDDIR)/$(ICUDATA_PLATFORM_NAME)
+@@ -73,24 +75,35 @@
+ LOCSRCDIR=$(SRCDATADIR)/locales
++LOCCONFDIR=$(CONFDIR)/locales
+ CURRSRCDIR=$(SRCDATADIR)/curr
+ CURRBLDDIR=$(BUILDDIR)/curr
++CURRCONFDIR=$(CONFDIR)/curr
+ LANGSRCDIR=$(SRCDATADIR)/lang
+ LANGBLDDIR=$(BUILDDIR)/lang
++LANGCONFDIR=$(CONFDIR)/lang
+ REGIONSRCDIR=$(SRCDATADIR)/region
+ REGIONBLDDIR=$(BUILDDIR)/region
++REGIONCONFDIR=$(CONFDIR)/region
+ ZONESRCDIR=$(SRCDATADIR)/zone
+ ZONEBLDDIR=$(BUILDDIR)/zone
++ZONECONFDIR=$(CONFDIR)/zone
+ COLSRCDIR=$(SRCDATADIR)/coll
+ COLBLDDIR=$(BUILDDIR)/coll
++COLCONFDIR=$(CONFDIR)/coll
+ RBNFSRCDIR=$(SRCDATADIR)/rbnf
+ RBNFBLDDIR=$(BUILDDIR)/rbnf
++RBNFCONFDIR=$(CONFDIR)/rbnc
+ TRANSLITSRCDIR=$(SRCDATADIR)/translit
+ TRANSLITBLDDIR=$(BUILDDIR)/translit
++TRANSLITCONFDIR=$(CONFDIR)/translit
+ MISCSRCDIR=$(SRCDATADIR)/misc
++MISCCONFDIR=$(CONFDIR)/misc
+ BRKSRCDIR=$(SRCDATADIR)/brkitr
+ BRKBLDDIR=$(BUILDDIR)/brkitr
+-MISCSRCDIR=$(SRCDATADIR)/misc
++BRKCONFDIR=$(CONFDIR)/brkitr
+ UCMSRCDIR=$(SRCDATADIR)/mappings
++UCMCONFDIR=$(CONFDIR)/mappings
+ SPREPSRCDIR=$(SRCDATADIR)/sprep
++SPREPCONFDIR=$(CONFDIR)/sprep
+ COMINCDIR=$(top_srcdir)/common/unicode
+ SRCLISTDEPS=Makefile $(srcdir)/Makefile.in
+ BUILD_DIRS=$(OUTDIR) $(MAINBUILDDIR) $(BUILDDIR) $(CURRBLDDIR) $(LANGBLDDIR) $(REGIONBLDDIR) $(ZONEBLDDIR) $(BRKBLDDIR) $(COLBLDDIR) $(RBNFBLDDIR) $(TRANSLITBLDDIR) $(OUTTMPDIR) $(OUTTMPDIR_390STUB) $(OUTTMPDIR)/$(CURR_TREE) $(OUTTMPDIR)/$(LANG_TREE) $(OUTTMPDIR)/$(REGION_TREE) $(OUTTMPDIR)/$(ZONE_TREE) $(OUTTMPDIR)/$(COLLATION_TREE) $(OUTTMPDIR)/$(RBNF_TREE) $(OUTTMPDIR)/$(TRANSLIT_TREE) $(OUTTMPDIR)/$(BREAK_TREE)
+@@ -231,7 +243,7 @@
+ ## BRK files
+ BREAK_TREE=brkitr
+ -include $(BRKSRCDIR)/brkfiles.mk
+--include $(BRKSRCDIR)/brklocal.mk
++-include $(BRKCONFDIR)/brklocal.mk
+ ALL_BRK_SOURCE= $(BRK_SOURCE) $(BRK_SOURCE_LOCAL)
+ BRK_FILES_SHORT=$(ALL_BRK_SOURCE:%.txt=$(BREAK_TREE)/%.brk)
+ BRK_FILES=$(ALL_BRK_SOURCE:%.txt=$(BRKBLDDIR)/%.brk)
+@@ -255,7 +267,7 @@
+ -include $(UCMSRCDIR)/ucmcore.mk
+ -include $(UCMSRCDIR)/ucmfiles.mk
+ -include $(UCMSRCDIR)/ucmebcdic.mk
+--include $(UCMSRCDIR)/ucmlocal.mk
++-include $(UCMCONFDIR)/ucmlocal.mk
+ ALL_UCM_SOURCE=ibm-37_P100-1995.ucm ibm-1047_P100-1995.ucm $(UCM_SOURCE_CORE) $(UCM_SOURCE_FILES) $(UCM_SOURCE_EBCDIC) $(UCM_SOURCE_LOCAL)
+ UCM_FILES = $(ALL_UCM_SOURCE:%=$(SRCDATADIR)/%)
+ CNV_FILES = $(ALL_UCM_SOURCE:%.ucm=$(BUILDDIR)/%.cnv)
+@@ -274,15 +286,15 @@
+ -include $(COLSRCDIR)/colfiles.mk
+ -include $(RBNFSRCDIR)/rbnffiles.mk
+ -include $(TRANSLITSRCDIR)/trnsfiles.mk
+--include $(LOCSRCDIR)/reslocal.mk
+--include $(CURRSRCDIR)/reslocal.mk
+--include $(LANGSRCDIR)/reslocal.mk
+--include $(REGIONSRCDIR)/reslocal.mk
+--include $(ZONESRCDIR)/reslocal.mk
+--include $(COLSRCDIR)/collocal.mk
+--include $(BRKSRCDIR)/brslocal.mk
+--include $(RBNFSRCDIR)/rbnflocal.mk
+--include $(TRANSLITSRCDIR)/trnslocal.mk
++-include $(LOCCONFDIR)/reslocal.mk
++-include $(CURRCONFDIR)/reslocal.mk
++-include $(LANGCONFDIR)/reslocal.mk
++-include $(REGIONCONFDIR)/reslocal.mk
++-include $(ZONECONFDIR)/reslocal.mk
++-include $(COLCONFDIR)/collocal.mk
++-include $(BRKCONFDIR)/brslocal.mk
++-include $(RBNFCONFDIR)/rbnflocal.mk
++-include $(TRANSLITCONFDIR)/trnslocal.mk
+ ifdef GENRB_SOURCE
+ RES_SRC= root.txt $(GENRB_SOURCE) $(GENRB_ALIAS_SOURCE) $(GENRB_SOURCE_LOCAL) $(GENRB_ALIAS_SOURCE_LOCAL)
+ RES_SRC_FILES = $(RES_SRC:%=$(LOCSRCDIR)/%)
+@@ -327,7 +339,7 @@
+ 
+ ## MISC files
+ -include $(MISCSRCDIR)/miscfiles.mk
+--include $(MISCSRCDIR)/misclocal.mk
++-include $(MISCCONFDIR)/misclocal.mk
+ MSC_SOURCE= $(MISC_SOURCE) $(MISC_SOURCE_LOCAL)
+ MSC_SRC_FILES=$(MSC_SOURCE:%=$(MISCSRCDIR)/%)
+ 
+@@ -396,7 +408,7 @@
+ 
+ ## SPP files
+ -include $(SPREPSRCDIR)/sprepfiles.mk
+--include $(SPREPSRCDIR)/spreplocal.mk
++-include $(SPREPCONFDIR)/spreplocal.mk
+ ALL_SPREP_SOURCE=$(SPREP_SOURCE) $(SPREP_SOURCE_LOCAL)
+ SPREP_FILES = $(ALL_SPREP_SOURCE:%.txt=$(BUILDDIR)/%.spp)
+ SPREP_FILES_SHORT = $(ALL_SPREP_SOURCE:%.txt=%.spp)
diff --git a/icu.patches/icu-52.description b/icu.patches/icu-52.description
new file mode 100644
index 0000000..b4d6f94
--- /dev/null
+++ b/icu.patches/icu-52.description
@@ -0,0 +1 @@
+This patch fixes the ABI compability issue when compiling with hard floating point ABI option on ARM target
diff --git a/icu.patches/icu-52.patch b/icu.patches/icu-52.patch
new file mode 100644
index 0000000..d05cd6a
--- /dev/null
+++ b/icu.patches/icu-52.patch
@@ -0,0 +1,24 @@
+--- icu/source/tools/toolutil/pkg_genc.c	2014-06-13 03:17:39.764309319 -0700
++++ icu_new/source/tools/toolutil/pkg_genc.c	2014-06-11 01:20:27.551743424 -0700
+@@ -117,6 +117,12 @@
+     int8_t      hexType; /* HEX_0X or HEX_0h */
+ } assemblyHeader[] = {
+     {"gcc",
++
++		"#ifdef __ARM_PCS_VFP\n"
++		".fpu vfpv3\n"
++		".eabi_attribute Tag_ABI_VFP_args, 1\n"
++		".eabi_attribute Tag_ABI_HardFP_use, 3\n"
++		"#endif\n"
+         ".globl %s\n"
+         "\t.section .note.GNU-stack,\"\",%%progbits\n"
+         "\t.section .rodata\n"
+@@ -249,7 +255,7 @@
+         exit(U_FILE_ACCESS_ERROR);
+     }
+ 
+-    getOutFilename(filename, destdir, bufferStr, entry, ".s", optFilename);
++    getOutFilename(filename, destdir, bufferStr, entry, ".S", optFilename);
+     out=T_FileStream_open(bufferStr, "w");
+     if(out==NULL) {
+         fprintf(stderr, "genccode: unable to open output file %s\n", bufferStr);
diff --git a/icu.patches/icu-53.description b/icu.patches/icu-53.description
new file mode 100644
index 0000000..67ba793
--- /dev/null
+++ b/icu.patches/icu-53.description
@@ -0,0 +1 @@
+Removing CC define that that breaks distcc
diff --git a/icu.patches/icu-53.patch b/icu.patches/icu-53.patch
new file mode 100644
index 0000000..87e8af8
--- /dev/null
+++ b/icu.patches/icu-53.patch
@@ -0,0 +1,11 @@
+--- a/source/tools/icuinfo/Makefile.in
++++ b/source/tools/icuinfo/Makefile.in
+@@ -36,7 +36,7 @@ DEPS = $(OBJECTS:.o=.d)
+ 
+ ICUINFO_OPTS=-i ../../data/out/build/$(ICUDATA_PLATFORM_NAME)
+ 
+-CPPFLAGS+=  -DU_PLATFORM=\"@platform@\"  -DU_BUILD=\"@build@\" -DU_HOST=\"@host@\" -DU_CC=\"@CC@\" -DU_CXX=\"@CXX@\"
++CPPFLAGS+=  -DU_PLATFORM=\"@platform@\"  -DU_BUILD=\"@build@\" -DU_HOST=\"@host@\"
+ # -DENABLE_RELEASE=@ENABLE_RELEASE@ -DENABLE_DEBUG=@ENABLE_DEBUG@ "
+ 
+ 
diff --git a/icu.patches/icu-54.description b/icu.patches/icu-54.description
new file mode 100644
index 0000000..8471de5
--- /dev/null
+++ b/icu.patches/icu-54.description
@@ -0,0 +1 @@
+Disable parallelism due to build errors.
diff --git a/icu.patches/icu-54.patch b/icu.patches/icu-54.patch
new file mode 100644
index 0000000..e6b2e5c
--- /dev/null
+++ b/icu.patches/icu-54.patch
@@ -0,0 +1,12 @@
+diff -Naur a/source/extra/uconv/Makefile.in b/source/extra/uconv/Makefile.in
+--- a/source/extra/uconv/Makefile.in	2015-02-20 15:18:50.853811159 -0800
++++ b/source/extra/uconv/Makefile.in	2015-02-20 15:19:17.854094705 -0800
+@@ -7,6 +7,8 @@
+ ## Makefile.in for ICU - uconv
+ ## Steven  R. Loomis
+ 
++.NOTPARALLEL:
++
+ ## Set the following to dll or static or common..
+ UCONVMSG_MODE=static
+ ##############################################################
diff --git a/icu.patches/icu-55.description b/icu.patches/icu-55.description
new file mode 100644
index 0000000..1051573
--- /dev/null
+++ b/icu.patches/icu-55.description
@@ -0,0 +1,4 @@
+Delete unused portion of icu/source/data from the data shared library (libicudata.so).
+The idea on how to trim the fat from ICU was taken from the guidelines on their website
+located here:  
+http://userguide.icu-project.org/icudata#TOC-Reducing-the-Size-of-ICU-s-Data:-Conversion-Tables
diff --git a/icu.patches/icu-55.patch b/icu.patches/icu-55.patch
new file mode 100644
index 0000000..5d3dc02
--- /dev/null
+++ b/icu.patches/icu-55.patch
@@ -0,0 +1,943 @@
+diff -Naur a/source/data/brkitr/brkfiles.mk b/source/data/brkitr/brkfiles.mk
+--- a/source/data/brkitr/brkfiles.mk	2010-04-28 08:28:24.000000000 -0700
++++ b/source/data/brkitr/brkfiles.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,47 +0,0 @@
+-# *   Copyright (C) 1998-2010, International Business Machines
+-# *   Corporation and others.  All Rights Reserved.
+-BRK_RES_CLDR_VERSION = 1.8.1
+-# A list of txt's to build
+-# Note:
+-#
+-#   If you are thinking of modifying this file, READ THIS.
+-#
+-# Instead of changing this file [unless you want to check it back in],
+-# you should consider creating a 'brklocal.mk' file in this same directory.
+-# Then, you can have your local changes remain even if you upgrade or
+-# reconfigure ICU.
+-#
+-# Example 'brklocal.mk' files:
+-#
+-#  * To add an additional locale to the list:
+-#    _____________________________________________________
+-#    |  BRK_RES_SOURCE_LOCAL =   myLocale.txt ...
+-#
+-#  * To REPLACE the default list and only build with a few
+-#    locales:
+-#    _____________________________________________________
+-#    |  BRK_RES_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
+-#
+-#
+-# Generated by LDML2ICUConverter, from LDML source files.
+-
+-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
+-BRK_RES_SYNTHETIC_ALIAS =
+-
+-
+-# All aliases (to not be included under 'installed'), but not including root.
+-BRK_RES_ALIAS_SOURCE = $(BRK_RES_SYNTHETIC_ALIAS)
+-
+-
+-# List of compact trie dictionary files (ctd).
+-BRK_CTD_SOURCE =  thaidict.txt 
+-
+-
+-# List of break iterator files (brk).
+-BRK_SOURCE =  sent_el.txt word_POSIX.txt word_ja.txt char.txt word.txt line.txt sent.txt title.txt char_th.txt
+-
+-
+-# Ordinary resources
+-BRK_RES_SOURCE = el.txt en.txt en_US.txt en_US_POSIX.txt\
+- ja.txt th.txt
+-
+diff -Naur a/source/data/coll/colfiles.mk b/source/data/coll/colfiles.mk
+--- a/source/data/coll/colfiles.mk	2010-04-28 08:28:20.000000000 -0700
++++ b/source/data/coll/colfiles.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,96 +0,0 @@
+-# *   Copyright (C) 1998-2010, International Business Machines
+-# *   Corporation and others.  All Rights Reserved.
+-COLLATION_CLDR_VERSION = 1.8.1
+-# A list of txt's to build
+-# Note:
+-#
+-#   If you are thinking of modifying this file, READ THIS.
+-#
+-# Instead of changing this file [unless you want to check it back in],
+-# you should consider creating a 'collocal.mk' file in this same directory.
+-# Then, you can have your local changes remain even if you upgrade or
+-# reconfigure ICU.
+-#
+-# Example 'collocal.mk' files:
+-#
+-#  * To add an additional locale to the list:
+-#    _____________________________________________________
+-#    |  COLLATION_SOURCE_LOCAL =   myLocale.txt ...
+-#
+-#  * To REPLACE the default list and only build with a few
+-#    locales:
+-#    _____________________________________________________
+-#    |  COLLATION_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
+-#
+-#
+-# Generated by LDML2ICUConverter, from LDML source files.
+-
+-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
+-COLLATION_SYNTHETIC_ALIAS = de_.txt de__PHONEBOOK.txt es_.txt es__TRADITIONAL.txt\
+- hi_.txt hi__DIRECT.txt in.txt in_ID.txt iw.txt\
+- iw_IL.txt no.txt no_NO.txt pa_IN.txt sh.txt\
+- sh_BA.txt sh_YU.txt sr_BA.txt sr_ME.txt sr_RS.txt\
+- zh_.txt zh_CN.txt zh_HK.txt zh_MO.txt zh_SG.txt\
+- zh_TW.txt zh_TW_STROKE.txt zh__PINYIN.txt
+-
+-
+-# All aliases (to not be included under 'installed'), but not including root.
+-COLLATION_ALIAS_SOURCE = $(COLLATION_SYNTHETIC_ALIAS)
+-
+-
+-# Empty locales, used for validSubLocale fallback.
+-COLLATION_EMPTY_SOURCE = af_NA.txt af_ZA.txt ar_AE.txt ar_BH.txt\
+- ar_DZ.txt ar_EG.txt ar_IQ.txt ar_JO.txt ar_KW.txt\
+- ar_LB.txt ar_LY.txt ar_MA.txt ar_OM.txt ar_QA.txt\
+- ar_SA.txt ar_SD.txt ar_SY.txt ar_TN.txt ar_YE.txt\
+- as_IN.txt az_Latn.txt az_Latn_AZ.txt be_BY.txt bg_BG.txt\
+- bn_BD.txt bn_IN.txt ca_ES.txt cs_CZ.txt cy_GB.txt\
+- da_DK.txt de_AT.txt de_BE.txt de_CH.txt de_DE.txt\
+- de_LU.txt el_GR.txt en_AU.txt en_BW.txt en_CA.txt\
+- en_GB.txt en_HK.txt en_IE.txt en_IN.txt en_MT.txt\
+- en_NZ.txt en_PH.txt en_SG.txt en_US.txt en_US_POSIX.txt\
+- en_VI.txt en_ZA.txt en_ZW.txt es_AR.txt es_BO.txt\
+- es_CL.txt es_CO.txt es_CR.txt es_DO.txt es_EC.txt\
+- es_ES.txt es_GT.txt es_HN.txt es_MX.txt es_NI.txt\
+- es_PA.txt es_PE.txt es_PR.txt es_PY.txt es_SV.txt\
+- es_US.txt es_UY.txt es_VE.txt et_EE.txt fa_IR.txt\
+- fi_FI.txt fo_FO.txt fr_BE.txt fr_CA.txt fr_CH.txt\
+- fr_FR.txt fr_LU.txt ga.txt ga_IE.txt gu_IN.txt\
+- ha_Latn.txt ha_Latn_GH.txt ha_Latn_NE.txt ha_Latn_NG.txt he_IL.txt\
+- hi_IN.txt hr_HR.txt hu_HU.txt hy_AM.txt id.txt\
+- id_ID.txt ig_NG.txt is_IS.txt it_CH.txt it_IT.txt\
+- ja_JP.txt ka.txt ka_GE.txt kk_KZ.txt kl_GL.txt\
+- kn_IN.txt ko_KR.txt kok_IN.txt lt_LT.txt lv_LV.txt\
+- mk_MK.txt ml_IN.txt mr_IN.txt ms.txt ms_BN.txt\
+- ms_MY.txt mt_MT.txt nb_NO.txt nl.txt nl_BE.txt\
+- nl_NL.txt nn_NO.txt om_ET.txt om_KE.txt or_IN.txt\
+- pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt pa_Guru_IN.txt pl_PL.txt\
+- ps_AF.txt pt.txt pt_BR.txt pt_PT.txt ro_RO.txt\
+- ru_RU.txt ru_UA.txt si_LK.txt sk_SK.txt sl_SI.txt\
+- sq_AL.txt sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_ME.txt sr_Cyrl_RS.txt\
+- sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_RS.txt st.txt st_LS.txt\
+- st_ZA.txt sv_FI.txt sv_SE.txt sw_KE.txt sw_TZ.txt\
+- ta_IN.txt te_IN.txt th_TH.txt tr_TR.txt uk_UA.txt\
+- ur_IN.txt ur_PK.txt vi_VN.txt xh.txt xh_ZA.txt\
+- yo_NG.txt zh_Hans.txt zh_Hans_CN.txt zh_Hans_SG.txt zh_Hant_HK.txt\
+- zh_Hant_MO.txt zh_Hant_TW.txt zu.txt zu_ZA.txt
+-
+-
+-# Ordinary resources
+-COLLATION_SOURCE = $(COLLATION_EMPTY_SOURCE) af.txt ar.txt as.txt az.txt\
+- be.txt bg.txt bn.txt ca.txt cs.txt\
+- cy.txt da.txt de.txt el.txt en.txt\
+- en_BE.txt eo.txt es.txt et.txt fa.txt\
+- fa_AF.txt fi.txt fil.txt fo.txt fr.txt\
+- gu.txt ha.txt haw.txt he.txt hi.txt\
+- hr.txt hu.txt hy.txt ig.txt is.txt\
+- it.txt ja.txt kk.txt kl.txt km.txt\
+- kn.txt ko.txt kok.txt lt.txt lv.txt\
+- mk.txt ml.txt mr.txt mt.txt nb.txt\
+- nn.txt om.txt or.txt pa.txt pl.txt\
+- ps.txt ro.txt ru.txt si.txt sk.txt\
+- sl.txt sq.txt sr.txt sr_Latn.txt sv.txt\
+- sw.txt ta.txt te.txt th.txt to.txt\
+- tr.txt uk.txt ur.txt vi.txt yo.txt\
+- zh.txt zh_Hant.txt
+-
+diff -Naur a/source/data/curr/resfiles.mk b/source/data/curr/resfiles.mk
+--- a/source/data/curr/resfiles.mk	2010-04-28 08:28:36.000000000 -0700
++++ b/source/data/curr/resfiles.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,87 +0,0 @@
+-# *   Copyright (C) 1998-2010, International Business Machines
+-# *   Corporation and others.  All Rights Reserved.
+-CURR_CLDR_VERSION = 1.8.1
+-# A list of txt's to build
+-# Note:
+-#
+-#   If you are thinking of modifying this file, READ THIS.
+-#
+-# Instead of changing this file [unless you want to check it back in],
+-# you should consider creating a 'reslocal.mk' file in this same directory.
+-# Then, you can have your local changes remain even if you upgrade or
+-# reconfigure ICU.
+-#
+-# Example 'reslocal.mk' files:
+-#
+-#  * To add an additional locale to the list:
+-#    _____________________________________________________
+-#    |  CURR_SOURCE_LOCAL =   myLocale.txt ...
+-#
+-#  * To REPLACE the default list and only build with a few
+-#    locales:
+-#    _____________________________________________________
+-#    |  CURR_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
+-#
+-#
+-# Generated by LDML2ICUConverter, from LDML source files.
+-
+-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
+-CURR_SYNTHETIC_ALIAS = en_RH.txt en_ZW.txt he_IL.txt id_ID.txt\
+- in_ID.txt iw_IL.txt ja_JP.txt ja_JP_TRADITIONAL.txt nb_NO.txt\
+- nn_NO.txt no_NO.txt no_NO_NY.txt th_TH.txt th_TH_TRADITIONAL.txt
+-
+-
+-# All aliases (to not be included under 'installed'), but not including root.
+-CURR_ALIAS_SOURCE = $(CURR_SYNTHETIC_ALIAS) az_AZ.txt ha_GH.txt ha_NE.txt ha_NG.txt\
+- in.txt iw.txt kk_KZ.txt no.txt pa_IN.txt\
+- pa_PK.txt sh.txt sh_BA.txt sh_CS.txt sh_YU.txt\
+- shi_MA.txt sr_BA.txt sr_CS.txt sr_Cyrl_CS.txt sr_Cyrl_YU.txt\
+- sr_Latn_CS.txt sr_Latn_YU.txt sr_ME.txt sr_RS.txt sr_YU.txt\
+- tl.txt tzm_MA.txt uz_AF.txt uz_UZ.txt zh_CN.txt\
+- zh_HK.txt zh_MO.txt zh_SG.txt zh_TW.txt
+-
+-
+-# Ordinary resources
+-CURR_SOURCE = af.txt ak.txt am.txt ar.txt\
+- as.txt asa.txt az.txt az_Cyrl.txt az_Latn.txt\
+- az_Latn_AZ.txt be.txt bem.txt bez.txt bg.txt\
+- bm.txt bn.txt bo.txt ca.txt cgg.txt\
+- chr.txt cs.txt cy.txt da.txt dav.txt\
+- de.txt de_BE.txt de_LU.txt ebu.txt ee.txt\
+- el.txt en.txt en_AU.txt en_BE.txt en_BW.txt\
+- en_BZ.txt en_CA.txt en_HK.txt en_JM.txt en_MT.txt\
+- en_NA.txt en_NZ.txt en_PH.txt en_PK.txt en_SG.txt\
+- en_TT.txt eo.txt es.txt es_AR.txt es_CL.txt\
+- es_CO.txt es_EC.txt es_GT.txt es_HN.txt es_MX.txt\
+- es_PR.txt es_US.txt es_UY.txt et.txt eu.txt\
+- fa.txt fa_AF.txt ff.txt fi.txt fil.txt\
+- fo.txt fr.txt fr_CA.txt fr_LU.txt ga.txt\
+- gl.txt gsw.txt gu.txt guz.txt gv.txt\
+- ha.txt ha_Latn.txt ha_Latn_GH.txt ha_Latn_NE.txt ha_Latn_NG.txt\
+- haw.txt he.txt hi.txt hr.txt hu.txt\
+- hy.txt id.txt ig.txt ii.txt is.txt\
+- it.txt ja.txt jmc.txt ka.txt kab.txt\
+- kam.txt kde.txt kea.txt khq.txt ki.txt\
+- kk.txt kk_Cyrl.txt kk_Cyrl_KZ.txt kl.txt kln.txt\
+- km.txt kn.txt ko.txt kok.txt kw.txt\
+- lag.txt lg.txt lt.txt luo.txt luy.txt\
+- lv.txt mas.txt mer.txt mfe.txt mg.txt\
+- mk.txt ml.txt mr.txt ms.txt ms_BN.txt\
+- mt.txt naq.txt nb.txt nd.txt ne.txt\
+- ne_IN.txt nl.txt nn.txt nyn.txt om.txt\
+- or.txt pa.txt pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt\
+- pa_Guru_IN.txt pl.txt ps.txt pt.txt pt_PT.txt\
+- rm.txt ro.txt rof.txt ru.txt rw.txt\
+- rwk.txt saq.txt seh.txt ses.txt sg.txt\
+- shi.txt shi_Latn.txt shi_Latn_MA.txt shi_Tfng.txt si.txt\
+- sk.txt sl.txt sn.txt so.txt sq.txt\
+- sr.txt sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_RS.txt sr_Latn.txt\
+- sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_RS.txt sv.txt sw.txt\
+- ta.txt te.txt teo.txt th.txt ti.txt\
+- to.txt tr.txt tzm.txt tzm_Latn.txt tzm_Latn_MA.txt\
+- uk.txt ur.txt uz.txt uz_Arab.txt uz_Arab_AF.txt\
+- uz_Cyrl.txt uz_Cyrl_UZ.txt uz_Latn.txt vi.txt vun.txt\
+- xog.txt yo.txt zh.txt zh_Hans.txt zh_Hans_CN.txt\
+- zh_Hans_HK.txt zh_Hans_SG.txt zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt\
+- zh_Hant_TW.txt zu.txt
+-
+diff -Naur a/source/data/lang/resfiles.mk b/source/data/lang/resfiles.mk
+--- a/source/data/lang/resfiles.mk	2010-04-28 08:27:56.000000000 -0700
++++ b/source/data/lang/resfiles.mk	2015-07-22 16:59:03.907938679 -0700
+@@ -26,57 +26,17 @@
+ # Generated by LDML2ICUConverter, from LDML source files.
+ 
+ # Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
+-LANG_SYNTHETIC_ALIAS = en_RH.txt en_ZW.txt he_IL.txt id_ID.txt\
+- in_ID.txt iw_IL.txt ja_JP.txt ja_JP_TRADITIONAL.txt nb_NO.txt\
+- nn_NO.txt no_NO.txt no_NO_NY.txt th_TH.txt th_TH_TRADITIONAL.txt
++LANG_SYNTHETIC_ALIAS =
+ 
+ 
+ # All aliases (to not be included under 'installed'), but not including root.
+-LANG_ALIAS_SOURCE = $(LANG_SYNTHETIC_ALIAS) az_AZ.txt ha_GH.txt ha_NE.txt ha_NG.txt\
+- in.txt iw.txt kk_KZ.txt no.txt pa_IN.txt\
+- pa_PK.txt sh.txt sh_BA.txt sh_CS.txt sh_YU.txt\
+- shi_MA.txt sr_BA.txt sr_CS.txt sr_Cyrl_CS.txt sr_Cyrl_YU.txt\
+- sr_Latn_CS.txt sr_Latn_YU.txt sr_ME.txt sr_RS.txt sr_YU.txt\
+- tl.txt tzm_MA.txt uz_AF.txt uz_UZ.txt zh_CN.txt\
+- zh_HK.txt zh_MO.txt zh_SG.txt zh_TW.txt
++LANG_ALIAS_SOURCE = $(LANG_SYNTHETIC_ALIAS)
+ 
+ 
+ # Ordinary resources
+-LANG_SOURCE = af.txt ak.txt am.txt ar.txt\
+- as.txt asa.txt az.txt az_Cyrl.txt az_Latn.txt\
+- az_Latn_AZ.txt be.txt bem.txt bez.txt bg.txt\
+- bm.txt bn.txt bn_IN.txt bo.txt ca.txt\
+- cgg.txt chr.txt cs.txt cy.txt da.txt\
+- dav.txt de.txt de_CH.txt ebu.txt ee.txt\
+- el.txt en.txt eo.txt es.txt es_AR.txt\
+- es_CL.txt et.txt eu.txt fa.txt fa_AF.txt\
+- ff.txt fi.txt fil.txt fo.txt fr.txt\
+- ga.txt gl.txt gsw.txt gu.txt guz.txt\
+- gv.txt ha.txt ha_Latn.txt ha_Latn_GH.txt ha_Latn_NE.txt\
+- ha_Latn_NG.txt haw.txt he.txt hi.txt hr.txt\
+- hu.txt hy.txt id.txt ig.txt ii.txt\
+- is.txt it.txt ja.txt jmc.txt ka.txt\
+- kab.txt kam.txt kde.txt kea.txt khq.txt\
+- ki.txt kk.txt kk_Cyrl.txt kk_Cyrl_KZ.txt kl.txt\
+- kln.txt km.txt kn.txt ko.txt kok.txt\
+- kw.txt lag.txt lg.txt lt.txt luo.txt\
+- luy.txt lv.txt mas.txt mer.txt mfe.txt\
+- mg.txt mk.txt ml.txt mr.txt ms.txt\
+- mt.txt naq.txt nb.txt nd.txt ne.txt\
+- nl.txt nl_BE.txt nn.txt nyn.txt om.txt\
+- or.txt pa.txt pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt\
+- pa_Guru_IN.txt pl.txt ps.txt pt.txt pt_PT.txt\
+- rm.txt ro.txt rof.txt ru.txt ru_UA.txt\
+- rw.txt rwk.txt saq.txt seh.txt ses.txt\
+- sg.txt shi.txt shi_Latn.txt shi_Latn_MA.txt shi_Tfng.txt\
+- si.txt sk.txt sl.txt sn.txt so.txt\
+- sq.txt sr.txt sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_RS.txt\
+- sr_Latn.txt sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_RS.txt sv.txt\
+- sv_FI.txt sw.txt ta.txt te.txt teo.txt\
+- th.txt ti.txt to.txt tr.txt tzm.txt\
+- tzm_Latn.txt tzm_Latn_MA.txt uk.txt ur.txt uz.txt\
+- uz_Arab.txt uz_Arab_AF.txt uz_Cyrl.txt uz_Cyrl_UZ.txt uz_Latn.txt\
+- vi.txt vun.txt xog.txt yo.txt zh.txt\
+- zh_Hans.txt zh_Hans_CN.txt zh_Hans_SG.txt zh_Hant.txt zh_Hant_HK.txt\
+- zh_Hant_MO.txt zh_Hant_TW.txt zu.txt
++LANG_SOURCE = de.txt\
++ en.txt\
++ es.txt\
++ fr.txt\
++ nl.txt
+ 
+diff -Naur a/source/data/locales/resfiles.mk b/source/data/locales/resfiles.mk
+--- a/source/data/locales/resfiles.mk	2010-04-28 08:28:08.000000000 -0700
++++ b/source/data/locales/resfiles.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,127 +0,0 @@
+-# *   Copyright (C) 1998-2010, International Business Machines
+-# *   Corporation and others.  All Rights Reserved.
+-GENRB_CLDR_VERSION = 1.8.1
+-# A list of txt's to build
+-# Note:
+-#
+-#   If you are thinking of modifying this file, READ THIS.
+-#
+-# Instead of changing this file [unless you want to check it back in],
+-# you should consider creating a 'reslocal.mk' file in this same directory.
+-# Then, you can have your local changes remain even if you upgrade or
+-# reconfigure ICU.
+-#
+-# Example 'reslocal.mk' files:
+-#
+-#  * To add an additional locale to the list:
+-#    _____________________________________________________
+-#    |  GENRB_SOURCE_LOCAL =   myLocale.txt ...
+-#
+-#  * To REPLACE the default list and only build with a few
+-#    locales:
+-#    _____________________________________________________
+-#    |  GENRB_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
+-#
+-#
+-# Generated by LDML2ICUConverter, from LDML source files.
+-
+-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
+-GENRB_SYNTHETIC_ALIAS = en_RH.txt in_ID.txt iw_IL.txt ja_JP_TRADITIONAL.txt\
+- no_NO.txt no_NO_NY.txt th_TH_TRADITIONAL.txt
+-
+-
+-# All aliases (to not be included under 'installed'), but not including root.
+-GENRB_ALIAS_SOURCE = $(GENRB_SYNTHETIC_ALIAS) az_AZ.txt ha_GH.txt ha_NE.txt ha_NG.txt\
+- in.txt iw.txt kk_KZ.txt no.txt pa_IN.txt\
+- pa_PK.txt sh.txt sh_BA.txt sh_CS.txt sh_YU.txt\
+- shi_MA.txt sr_BA.txt sr_CS.txt sr_Cyrl_CS.txt sr_Cyrl_YU.txt\
+- sr_Latn_CS.txt sr_Latn_YU.txt sr_ME.txt sr_RS.txt sr_YU.txt\
+- tl.txt tzm_MA.txt uz_AF.txt uz_UZ.txt zh_CN.txt\
+- zh_HK.txt zh_MO.txt zh_SG.txt zh_TW.txt
+-
+-
+-# Ordinary resources
+-GENRB_SOURCE = af.txt af_NA.txt af_ZA.txt ak.txt\
+- ak_GH.txt am.txt am_ET.txt ar.txt ar_AE.txt\
+- ar_BH.txt ar_DZ.txt ar_EG.txt ar_IQ.txt ar_JO.txt\
+- ar_KW.txt ar_LB.txt ar_LY.txt ar_MA.txt ar_OM.txt\
+- ar_QA.txt ar_SA.txt ar_SD.txt ar_SY.txt ar_TN.txt\
+- ar_YE.txt as.txt as_IN.txt asa.txt asa_TZ.txt\
+- az.txt az_Cyrl.txt az_Cyrl_AZ.txt az_Latn.txt az_Latn_AZ.txt\
+- be.txt be_BY.txt bem.txt bem_ZM.txt bez.txt\
+- bez_TZ.txt bg.txt bg_BG.txt bm.txt bm_ML.txt\
+- bn.txt bn_BD.txt bn_IN.txt bo.txt bo_CN.txt\
+- bo_IN.txt ca.txt ca_ES.txt cgg.txt cgg_UG.txt\
+- chr.txt chr_US.txt cs.txt cs_CZ.txt cy.txt\
+- cy_GB.txt da.txt da_DK.txt dav.txt dav_KE.txt\
+- de.txt de_AT.txt de_BE.txt de_CH.txt de_DE.txt\
+- de_LI.txt de_LU.txt ebu.txt ebu_KE.txt ee.txt\
+- ee_GH.txt ee_TG.txt el.txt el_CY.txt el_GR.txt\
+- en.txt en_AU.txt en_BE.txt en_BW.txt en_BZ.txt\
+- en_CA.txt en_GB.txt en_HK.txt en_IE.txt en_IN.txt\
+- en_JM.txt en_MH.txt en_MT.txt en_MU.txt en_NA.txt\
+- en_NZ.txt en_PH.txt en_PK.txt en_SG.txt en_TT.txt\
+- en_US.txt en_US_POSIX.txt en_VI.txt en_ZA.txt en_ZW.txt\
+- eo.txt es.txt es_AR.txt es_BO.txt es_CL.txt\
+- es_CO.txt es_CR.txt es_DO.txt es_EC.txt es_ES.txt\
+- es_GQ.txt es_GT.txt es_HN.txt es_MX.txt es_NI.txt\
+- es_PA.txt es_PE.txt es_PR.txt es_PY.txt es_SV.txt\
+- es_US.txt es_UY.txt es_VE.txt et.txt et_EE.txt\
+- eu.txt eu_ES.txt fa.txt fa_AF.txt fa_IR.txt\
+- ff.txt ff_SN.txt fi.txt fi_FI.txt fil.txt\
+- fil_PH.txt fo.txt fo_FO.txt fr.txt fr_BE.txt\
+- fr_BL.txt fr_CA.txt fr_CF.txt fr_CH.txt fr_CI.txt\
+- fr_CM.txt fr_FR.txt fr_GN.txt fr_GP.txt fr_LU.txt\
+- fr_MC.txt fr_MF.txt fr_MG.txt fr_ML.txt fr_MQ.txt\
+- fr_NE.txt fr_RE.txt fr_SN.txt ga.txt ga_IE.txt\
+- gl.txt gl_ES.txt gsw.txt gsw_CH.txt gu.txt\
+- gu_IN.txt guz.txt guz_KE.txt gv.txt gv_GB.txt\
+- ha.txt ha_Latn.txt ha_Latn_GH.txt ha_Latn_NE.txt ha_Latn_NG.txt\
+- haw.txt haw_US.txt he.txt he_IL.txt hi.txt\
+- hi_IN.txt hr.txt hr_HR.txt hu.txt hu_HU.txt\
+- hy.txt hy_AM.txt id.txt id_ID.txt ig.txt\
+- ig_NG.txt ii.txt ii_CN.txt is.txt is_IS.txt\
+- it.txt it_CH.txt it_IT.txt ja.txt ja_JP.txt\
+- jmc.txt jmc_TZ.txt ka.txt ka_GE.txt kab.txt\
+- kab_DZ.txt kam.txt kam_KE.txt kde.txt kde_TZ.txt\
+- kea.txt kea_CV.txt khq.txt khq_ML.txt ki.txt\
+- ki_KE.txt kk.txt kk_Cyrl.txt kk_Cyrl_KZ.txt kl.txt\
+- kl_GL.txt kln.txt kln_KE.txt km.txt km_KH.txt\
+- kn.txt kn_IN.txt ko.txt ko_KR.txt kok.txt\
+- kok_IN.txt kw.txt kw_GB.txt lag.txt lag_TZ.txt\
+- lg.txt lg_UG.txt lt.txt lt_LT.txt luo.txt\
+- luo_KE.txt luy.txt luy_KE.txt lv.txt lv_LV.txt\
+- mas.txt mas_KE.txt mas_TZ.txt mer.txt mer_KE.txt\
+- mfe.txt mfe_MU.txt mg.txt mg_MG.txt mk.txt\
+- mk_MK.txt ml.txt ml_IN.txt mr.txt mr_IN.txt\
+- ms.txt ms_BN.txt ms_MY.txt mt.txt mt_MT.txt\
+- naq.txt naq_NA.txt nb.txt nb_NO.txt nd.txt\
+- nd_ZW.txt ne.txt ne_IN.txt ne_NP.txt nl.txt\
+- nl_BE.txt nl_NL.txt nn.txt nn_NO.txt nyn.txt\
+- nyn_UG.txt om.txt om_ET.txt om_KE.txt or.txt\
+- or_IN.txt pa.txt pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt\
+- pa_Guru_IN.txt pl.txt pl_PL.txt ps.txt ps_AF.txt\
+- pt.txt pt_BR.txt pt_GW.txt pt_MZ.txt pt_PT.txt\
+- rm.txt rm_CH.txt ro.txt ro_MD.txt ro_RO.txt\
+- rof.txt rof_TZ.txt ru.txt ru_MD.txt ru_RU.txt\
+- ru_UA.txt rw.txt rw_RW.txt rwk.txt rwk_TZ.txt\
+- saq.txt saq_KE.txt seh.txt seh_MZ.txt ses.txt\
+- ses_ML.txt sg.txt sg_CF.txt shi.txt shi_Latn.txt\
+- shi_Latn_MA.txt shi_Tfng.txt shi_Tfng_MA.txt si.txt si_LK.txt\
+- sk.txt sk_SK.txt sl.txt sl_SI.txt sn.txt\
+- sn_ZW.txt so.txt so_DJ.txt so_ET.txt so_KE.txt\
+- so_SO.txt sq.txt sq_AL.txt sr.txt sr_Cyrl.txt\
+- sr_Cyrl_BA.txt sr_Cyrl_ME.txt sr_Cyrl_RS.txt sr_Latn.txt sr_Latn_BA.txt\
+- sr_Latn_ME.txt sr_Latn_RS.txt sv.txt sv_FI.txt sv_SE.txt\
+- sw.txt sw_KE.txt sw_TZ.txt ta.txt ta_IN.txt\
+- ta_LK.txt te.txt te_IN.txt teo.txt teo_KE.txt\
+- teo_UG.txt th.txt th_TH.txt ti.txt ti_ER.txt\
+- ti_ET.txt to.txt to_TO.txt tr.txt tr_TR.txt\
+- tzm.txt tzm_Latn.txt tzm_Latn_MA.txt uk.txt uk_UA.txt\
+- ur.txt ur_IN.txt ur_PK.txt uz.txt uz_Arab.txt\
+- uz_Arab_AF.txt uz_Cyrl.txt uz_Cyrl_UZ.txt uz_Latn.txt uz_Latn_UZ.txt\
+- vi.txt vi_VN.txt vun.txt vun_TZ.txt xog.txt\
+- xog_UG.txt yo.txt yo_NG.txt zh.txt zh_Hans.txt\
+- zh_Hans_CN.txt zh_Hans_HK.txt zh_Hans_MO.txt zh_Hans_SG.txt zh_Hant.txt\
+- zh_Hant_HK.txt zh_Hant_MO.txt zh_Hant_TW.txt zu.txt zu_ZA.txt
+-
+diff -Naur a/source/data/mappings/ucmcore.mk b/source/data/mappings/ucmcore.mk
+--- a/source/data/mappings/ucmcore.mk	2010-04-28 08:28:48.000000000 -0700
++++ b/source/data/mappings/ucmcore.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,28 +0,0 @@
+-# Copyright (c) 1999-2007, International Business Machines Corporation and
+-# others. All Rights Reserved.
+-# A list of UCM's to build for core MIME/Unix/Windows encodings
+-
+-# Note: A number of encodings are handled with purely algorithmic converters,
+-# without any mapping tables:
+-# US-ASCII, ISO 8859-1, UTF-7/8/16/32, SCSU
+-
+-# Listed here:
+-
+-# ISO 8859-2..9, 15
+-# Windows-125x
+-# EUC-CN, GBK (Windows cp936), GB 18030
+-# Big5 (Windows cp950)
+-# SJIS (Windows cp932), EUC-JP
+-# EUC-KR, KS C 5601, Windows cp949
+-
+-UCM_SOURCE_CORE=ibm-912_P100-1995.ucm ibm-913_P100-2000.ucm\
+-ibm-914_P100-1995.ucm ibm-915_P100-1995.ucm ibm-5012_P100-1999.ucm\
+-ibm-920_P100-1995.ucm ibm-923_P100-1998.ucm ibm-1089_P100-1995.ucm\
+-ibm-4909_P100-1999.ucm\
+-ibm-5346_P100-1998.ucm ibm-5347_P100-1998.ucm ibm-5348_P100-1997.ucm\
+-ibm-5349_P100-1998.ucm ibm-5350_P100-1998.ucm ibm-9447_P100-2002.ucm\
+-ibm-5352_P100-1998.ucm ibm-9449_P100-2002.ucm ibm-5354_P100-1998.ucm\
+-ibm-1383_P110-1999.ucm ibm-1386_P100-2001.ucm gb18030.ucm\
+-ibm-1373_P100-2002.ucm\
+-ibm-943_P15A-2003.ucm ibm-33722_P12A_P12A-2004_U2.ucm\
+-ibm-970_P110_P110-2006_U2.ucm ibm-949_P11A-1999.ucm ibm-1363_P11B-1998.ucm
+diff -Naur a/source/data/mappings/ucmebcdic.mk b/source/data/mappings/ucmebcdic.mk
+--- a/source/data/mappings/ucmebcdic.mk	2010-04-28 08:28:46.000000000 -0700
++++ b/source/data/mappings/ucmebcdic.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,29 +0,0 @@
+-# Copyright (c) 1999-2010, International Business Machines Corporation and
+-# others. All Rights Reserved.
+-# A list of EBCDIC UCM's to build
+-# ibm-37 and ibm-1047 are already mentioned in makedata.mak and Makefile.in
+-
+-UCM_SOURCE_EBCDIC = ebcdic-xml-us.ucm\
+-ibm-1025_P100-1995.ucm ibm-1026_P100-1995.ucm ibm-1097_P100-1995.ucm\
+-ibm-1112_P100-1995.ucm ibm-1122_P100-1999.ucm ibm-1130_P100-1997.ucm\
+-ibm-1132_P100-1998.ucm ibm-1137_P100-1999.ucm ibm-1364_P110-2007.ucm\
+-ibm-1371_P100-1999.ucm ibm-1388_P103-2001.ucm ibm-1390_P110-2003.ucm\
+-ibm-1399_P110-2003.ucm ibm-870_P100-1995.ucm ibm-875_P100-1995.ucm\
+-ibm-838_P100-1995.ucm ibm-918_P100-1995.ucm ibm-930_P120-1999.ucm\
+-ibm-933_P110-1995.ucm ibm-935_P110-1999.ucm ibm-937_P110-1999.ucm\
+-ibm-939_P120-1999.ucm ibm-1123_P100-1995.ucm ibm-1140_P100-1997.ucm\
+-ibm-1141_P100-1997.ucm ibm-1142_P100-1997.ucm ibm-1143_P100-1997.ucm\
+-ibm-1144_P100-1997.ucm ibm-1145_P100-1997.ucm ibm-1146_P100-1997.ucm\
+-ibm-1147_P100-1997.ucm ibm-1148_P100-1997.ucm ibm-1149_P100-1997.ucm\
+-ibm-1153_P100-1999.ucm ibm-1154_P100-1999.ucm ibm-1155_P100-1999.ucm\
+-ibm-1156_P100-1999.ucm ibm-1157_P100-1999.ucm ibm-1158_P100-1999.ucm\
+-ibm-1160_P100-1999.ucm ibm-1164_P100-1999.ucm ibm-871_P100-1995.ucm\
+-ibm-12712_P100-1998.ucm ibm-16804_X110-1999.ucm ibm-273_P100-1995.ucm\
+-ibm-277_P100-1995.ucm ibm-278_P100-1995.ucm ibm-280_P100-1995.ucm\
+-ibm-284_P100-1995.ucm ibm-285_P100-1995.ucm ibm-290_P100-1995.ucm\
+-ibm-297_P100-1995.ucm ibm-420_X120-1999.ucm ibm-424_P100-1995.ucm\
+-ibm-4517_P100-2005.ucm ibm-4899_P100-1998.ucm ibm-4971_P100-1999.ucm\
+-ibm-500_P100-1995.ucm ibm-5123_P100-1999.ucm ibm-803_P100-1999.ucm\
+-ibm-8482_P100-1999.ucm ibm-9067_X100-2005.ucm ibm-16684_P110-2003.ucm
+-
+-#UCM_SOURCE_EBCDIC_IGNORE_SISO =
+\ No newline at end of file
+diff -Naur a/source/data/mappings/ucmfiles.mk b/source/data/mappings/ucmfiles.mk
+--- a/source/data/mappings/ucmfiles.mk	2010-04-28 08:28:46.000000000 -0700
++++ b/source/data/mappings/ucmfiles.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,116 +0,0 @@
+-# Copyright (c) 1999-2010, International Business Machines Corporation and
+-# others. All Rights Reserved.
+-# A list of UCM's to build
+-# Note: 
+-#
+-#   If you are thinking of modifying this file, READ THIS. 
+-#
+-# Instead of changing this file [unless you want to check it back in],
+-# you should consider creating a 'ucmlocal.mk' file in this same directory.
+-# Then, you can have your local changes remain even if you upgrade or re
+-# configure the ICU.
+-#
+-# Example 'ucmlocal.mk' files:
+-#
+-#  * To add an additional converter to the list: 
+-#    _____________________________________________________
+-#    |  UCM_SOURCE_LOCAL =  myconverter.ucm ...
+-#
+-#  * To add EBCDIC converters that uses different SI/SO characters:
+-#    Note: ICU is updated to handle three EBCDIC converters (JIPS, KEIS, and JEF) which uses 
+-#          different SI/SO characters than the "standard" ones:  0xf/0xe.
+-#          This behaviour is done in the mbcs converter code and is turned on if for that converter
+-#          if the name contains either JIPS, KEIS, or JEF. (e.g. my_KEIS_converter.ucm) 
+-#    _____________________________________________________
+-#    |  UCM_SOURCE_EBCDIC_IGNORE_SISO_LOCAL = my_KEIS_converter.ucm
+-#
+-#  * To REPLACE the default list and only build with a few
+-#     converters:
+-#    _____________________________________________________
+-#    |  UCM_SOURCE = ibm-913.ucm ibm-949.ucm ibm-37.ucm
+-#
+-# If you are planning to exclude EBCDIC mappings in you data then please delete
+-# ucmebcdic.mk from the <icu>/source/data directory
+-#
+-
+-UCM_SOURCE_FILES = ibm-437_P100-1995.ucm\
+-ibm-737_P100-1997.ucm\
+-ibm-720_P100-1997.ucm\
+-ibm-775_P100-1996.ucm\
+-ibm-813_P100-1995.ucm\
+-ibm-850_P100-1995.ucm\
+-ibm-851_P100-1995.ucm\
+-ibm-852_P100-1995.ucm\
+-ibm-855_P100-1995.ucm\
+-ibm-856_P100-1995.ucm\
+-ibm-857_P100-1995.ucm\
+-ibm-858_P100-1997.ucm\
+-ibm-860_P100-1995.ucm\
+-ibm-861_P100-1995.ucm\
+-ibm-862_P100-1995.ucm\
+-ibm-863_P100-1995.ucm\
+-ibm-864_X110-1999.ucm\
+-ibm-865_P100-1995.ucm\
+-ibm-866_P100-1995.ucm\
+-ibm-867_P100-1998.ucm\
+-ibm-868_P100-1995.ucm\
+-ibm-869_P100-1995.ucm\
+-ibm-874_P100-1995.ucm\
+-ibm-878_P100-1996.ucm\
+-ibm-901_P100-1999.ucm\
+-ibm-902_P100-1999.ucm\
+-ibm-916_P100-1995.ucm\
+-ibm-921_P100-1995.ucm\
+-ibm-922_P100-1999.ucm\
+-ibm-1006_P100-1995.ucm\
+-ibm-1051_P100-1995.ucm\
+-ibm-1098_P100-1995.ucm\
+-ibm-1124_P100-1996.ucm\
+-ibm-1125_P100-1997.ucm\
+-ibm-1129_P100-1997.ucm\
+-ibm-1131_P100-1997.ucm\
+-ibm-1133_P100-1997.ucm\
+-ibm-1162_P100-1999.ucm\
+-ibm-1168_P100-2002.ucm\
+-ibm-1250_P100-1995.ucm\
+-ibm-1251_P100-1995.ucm\
+-ibm-1252_P100-2000.ucm\
+-ibm-1253_P100-1995.ucm\
+-ibm-1254_P100-1995.ucm\
+-ibm-1255_P100-1995.ucm\
+-ibm-1256_P110-1997.ucm\
+-ibm-1257_P100-1995.ucm\
+-ibm-1258_P100-1997.ucm\
+-ibm-1276_P100-1995.ucm\
+-ibm-5351_P100-1998.ucm\
+-ibm-5353_P100-1998.ucm\
+-ibm-942_P12A-1999.ucm\
+-ibm-943_P130-1999.ucm\
+-ibm-949_P110-1999.ucm\
+-ibm-950_P110-1999.ucm\
+-ibm-954_P101-2007.ucm\
+-ibm-964_P110-1999.ucm\
+-ibm-971_P100-1995.ucm\
+-ibm-1363_P110-1997.ucm\
+-ibm-1375_P100-2007.ucm\
+-ibm-5471_P100-2006.ucm\
+-ibm-9005_X110-2007.ucm\
+-ibm-9448_X100-2005.ucm\
+-ibm-33722_P120-1999.ucm\
+-iso-8859_10-1998.ucm\
+-iso-8859_11-2001.ucm\
+-iso-8859_14-1998.ucm\
+-macos-0_2-10.2.ucm\
+-macos-6_2-10.4.ucm\
+-macos-7_3-10.2.ucm\
+-macos-29-10.2.ucm\
+-macos-35-10.2.ucm\
+-windows-874-2000.ucm\
+-windows-936-2000.ucm\
+-windows-949-2000.ucm\
+-windows-950-2000.ucm\
+-jisx-212.ucm\
+-iso-ir-165.ucm cns-11643-1992.ucm\
+-ibm-5478_P100-1995.ucm\
+-icu-internal-25546.ucm lmb-excp.ucm
+-
+diff -Naur a/source/data/misc/miscfiles.mk b/source/data/misc/miscfiles.mk
+--- a/source/data/misc/miscfiles.mk	2010-04-28 08:28:24.000000000 -0700
++++ b/source/data/misc/miscfiles.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,26 +0,0 @@
+-# *   Copyright (C) 2003-2010, International Business Machines
+-# *   Corporation and others.  All Rights Reserved.
+-# A list of txt's to build
+-# Note: 
+-#
+-#   If you are thinking of modifying this file, READ THIS. 
+-#
+-# Instead of changing this file [unless you want to check it back in],
+-# you should consider creating a 'misclocal.mk' file in this same directory.
+-# Then, you can have your local changes remain even if you upgrade or re-
+-# configure ICU.
+-#
+-# Example 'misclocal.mk' files:
+-#
+-#  * To add an additional file to the list: 
+-#    _____________________________________________________
+-#    |  MISC_SOURCE_LOCAL =   myFile.txt ...
+-#
+-#  * To REPLACE the default list and only build a subset of files:
+-#    _____________________________________________________
+-#    |  MISC_SOURCE = zoneinfo.txt
+-#
+-#
+-
+-MISC_SOURCE = \
+-zoneinfo64.txt supplementalData.txt likelySubtags.txt plurals.txt numberingSystems.txt icuver.txt icustd.txt metaZones.txt windowsZones.txt keyTypeData.txt timezoneTypes.txt
+diff -Naur a/source/data/rbnf/rbnffiles.mk b/source/data/rbnf/rbnffiles.mk
+--- a/source/data/rbnf/rbnffiles.mk	2010-04-28 08:28:16.000000000 -0700
++++ b/source/data/rbnf/rbnffiles.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,50 +0,0 @@
+-# *   Copyright (C) 1998-2010, International Business Machines
+-# *   Corporation and others.  All Rights Reserved.
+-RBNF_CLDR_VERSION = 1.8.1
+-# A list of txt's to build
+-# Note:
+-#
+-#   If you are thinking of modifying this file, READ THIS.
+-#
+-# Instead of changing this file [unless you want to check it back in],
+-# you should consider creating a 'rbnflocal.mk' file in this same directory.
+-# Then, you can have your local changes remain even if you upgrade or
+-# reconfigure ICU.
+-#
+-# Example 'rbnflocal.mk' files:
+-#
+-#  * To add an additional locale to the list:
+-#    _____________________________________________________
+-#    |  RBNF_SOURCE_LOCAL =   myLocale.txt ...
+-#
+-#  * To REPLACE the default list and only build with a few
+-#    locales:
+-#    _____________________________________________________
+-#    |  RBNF_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
+-#
+-#
+-# Generated by LDML2ICUConverter, from LDML source files.
+-
+-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
+-RBNF_SYNTHETIC_ALIAS =
+-
+-
+-# All aliases (to not be included under 'installed'), but not including root.
+-RBNF_ALIAS_SOURCE = $(RBNF_SYNTHETIC_ALIAS)
+-
+-
+-# Ordinary resources
+-RBNF_SOURCE = af.txt am.txt ar.txt az.txt\
+- be.txt bg.txt ca.txt cs.txt cy.txt\
+- da.txt de.txt el.txt en.txt eo.txt\
+- es.txt et.txt fa.txt fa_AF.txt fi.txt\
+- fil.txt fo.txt fr.txt fr_BE.txt fr_CH.txt\
+- ga.txt he.txt hi.txt hr.txt hu.txt\
+- hy.txt id.txt is.txt it.txt ja.txt\
+- ka.txt kl.txt ko.txt lt.txt lv.txt\
+- mk.txt ms.txt mt.txt nb.txt nl.txt\
+- nn.txt pl.txt pt.txt pt_PT.txt ro.txt\
+- ru.txt sk.txt sl.txt sq.txt sr.txt\
+- sr_Latn.txt sv.txt ta.txt th.txt tr.txt\
+- uk.txt vi.txt zh.txt zh_Hant.txt
+-
+diff -Naur a/source/data/region/resfiles.mk b/source/data/region/resfiles.mk
+--- a/source/data/region/resfiles.mk	2010-04-28 08:28:12.000000000 -0700
++++ b/source/data/region/resfiles.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,81 +0,0 @@
+-# *   Copyright (C) 1998-2010, International Business Machines
+-# *   Corporation and others.  All Rights Reserved.
+-REGION_CLDR_VERSION = 1.8.1
+-# A list of txt's to build
+-# Note:
+-#
+-#   If you are thinking of modifying this file, READ THIS.
+-#
+-# Instead of changing this file [unless you want to check it back in],
+-# you should consider creating a 'reslocal.mk' file in this same directory.
+-# Then, you can have your local changes remain even if you upgrade or
+-# reconfigure ICU.
+-#
+-# Example 'reslocal.mk' files:
+-#
+-#  * To add an additional locale to the list:
+-#    _____________________________________________________
+-#    |  REGION_SOURCE_LOCAL =   myLocale.txt ...
+-#
+-#  * To REPLACE the default list and only build with a few
+-#    locales:
+-#    _____________________________________________________
+-#    |  REGION_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
+-#
+-#
+-# Generated by LDML2ICUConverter, from LDML source files.
+-
+-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
+-REGION_SYNTHETIC_ALIAS = en_RH.txt en_ZW.txt he_IL.txt id_ID.txt\
+- in_ID.txt iw_IL.txt ja_JP.txt ja_JP_TRADITIONAL.txt nb_NO.txt\
+- nn_NO.txt no_NO.txt no_NO_NY.txt th_TH.txt th_TH_TRADITIONAL.txt
+-
+-
+-# All aliases (to not be included under 'installed'), but not including root.
+-REGION_ALIAS_SOURCE = $(REGION_SYNTHETIC_ALIAS) az_AZ.txt ha_GH.txt ha_NE.txt ha_NG.txt\
+- in.txt iw.txt kk_KZ.txt no.txt pa_IN.txt\
+- pa_PK.txt sh.txt sh_BA.txt sh_CS.txt sh_YU.txt\
+- shi_MA.txt sr_BA.txt sr_CS.txt sr_Cyrl_CS.txt sr_Cyrl_YU.txt\
+- sr_Latn_CS.txt sr_Latn_YU.txt sr_ME.txt sr_RS.txt sr_YU.txt\
+- tl.txt tzm_MA.txt uz_AF.txt uz_UZ.txt zh_CN.txt\
+- zh_HK.txt zh_MO.txt zh_SG.txt zh_TW.txt
+-
+-
+-# Ordinary resources
+-REGION_SOURCE = af.txt ak.txt am.txt ar.txt\
+- as.txt asa.txt az.txt az_Cyrl.txt az_Latn.txt\
+- az_Latn_AZ.txt be.txt bem.txt bez.txt bg.txt\
+- bm.txt bn.txt bo.txt ca.txt cgg.txt\
+- chr.txt cs.txt cy.txt da.txt dav.txt\
+- de.txt de_CH.txt ebu.txt ee.txt el.txt\
+- en.txt eo.txt es.txt es_CL.txt et.txt\
+- eu.txt fa.txt fa_AF.txt ff.txt fi.txt\
+- fil.txt fo.txt fr.txt ga.txt gl.txt\
+- gsw.txt gu.txt guz.txt gv.txt ha.txt\
+- ha_Latn.txt ha_Latn_GH.txt ha_Latn_NE.txt ha_Latn_NG.txt haw.txt\
+- he.txt hi.txt hr.txt hu.txt hy.txt\
+- id.txt ig.txt ii.txt is.txt it.txt\
+- ja.txt jmc.txt ka.txt kab.txt kam.txt\
+- kde.txt kea.txt khq.txt ki.txt kk.txt\
+- kk_Cyrl.txt kk_Cyrl_KZ.txt kl.txt kln.txt km.txt\
+- kn.txt ko.txt kok.txt kw.txt lag.txt\
+- lg.txt lt.txt luo.txt luy.txt lv.txt\
+- mas.txt mer.txt mfe.txt mg.txt mk.txt\
+- ml.txt mr.txt ms.txt mt.txt naq.txt\
+- nb.txt nd.txt ne.txt nl.txt nl_BE.txt\
+- nn.txt nyn.txt om.txt or.txt pa.txt\
+- pa_Arab.txt pa_Arab_PK.txt pa_Guru.txt pa_Guru_IN.txt pl.txt\
+- ps.txt pt.txt pt_PT.txt rm.txt ro.txt\
+- rof.txt ru.txt rw.txt rwk.txt saq.txt\
+- seh.txt ses.txt sg.txt shi.txt shi_Latn.txt\
+- shi_Latn_MA.txt shi_Tfng.txt si.txt sk.txt sl.txt\
+- sn.txt so.txt sq.txt sr.txt sr_Cyrl.txt\
+- sr_Cyrl_BA.txt sr_Cyrl_RS.txt sr_Latn.txt sr_Latn_BA.txt sr_Latn_ME.txt\
+- sr_Latn_RS.txt sv.txt sv_FI.txt sw.txt ta.txt\
+- te.txt teo.txt th.txt ti.txt to.txt\
+- tr.txt tzm.txt tzm_Latn.txt tzm_Latn_MA.txt uk.txt\
+- ur.txt uz.txt uz_Arab.txt uz_Arab_AF.txt uz_Cyrl.txt\
+- uz_Cyrl_UZ.txt uz_Latn.txt vi.txt vun.txt xog.txt\
+- yo.txt zh.txt zh_Hans.txt zh_Hans_CN.txt zh_Hans_SG.txt\
+- zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt zh_Hant_TW.txt zu.txt
+-
+diff -Naur a/source/data/sprep/sprepfiles.mk b/source/data/sprep/sprepfiles.mk
+--- a/source/data/sprep/sprepfiles.mk	2010-04-28 08:28:22.000000000 -0700
++++ b/source/data/sprep/sprepfiles.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,27 +0,0 @@
+-# *   Copyright (C) 2009, International Business Machines
+-# *   Corporation and others.  All Rights Reserved.
+-# A list of txt's to build
+-# Note: 
+-#
+-#   If you are thinking of modifying this file, READ THIS. 
+-#
+-# Instead of changing this file [unless you want to check it back in],
+-# you should consider creating a 'brklocal.mk' file in this same directory.
+-# Then, you can have your local changes remain even if you upgrade or
+-# reconfigure ICU.
+-#
+-# Example 'spreplocal.mk' files:
+-#
+-#  * To add an additional locale to the list: 
+-#    _____________________________________________________
+-#    |  SPREP_SOURCE_LOCAL =   myStringPrep.txt ...
+-#
+-#  * To REPLACE the default list and only build a subset of files:
+-#    _____________________________________________________
+-#    |  SPREP_SOURCE = rfc4518.txt
+-#
+-#
+-SPREP_SOURCE = \
+-rfc3491.txt rfc3530cs.txt rfc3530csci.txt rfc3530mixp.txt rfc3722.txt \
+-rfc3920node.txt rfc3920res.txt rfc4011.txt rfc4013.txt rfc4505.txt \
+-rfc4518.txt rfc4518ci.txt
+diff -Naur a/source/data/translit/trnsfiles.mk b/source/data/translit/trnsfiles.mk
+--- a/source/data/translit/trnsfiles.mk	2010-04-28 08:28:26.000000000 -0700
++++ b/source/data/translit/trnsfiles.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,26 +0,0 @@
+-# *   Copyright (C) 1997-2006, International Business Machines
+-# *   Corporation and others.  All Rights Reserved.
+-# A list of txt's to build
+-# Note: 
+-#
+-#   If you are thinking of modifying this file, READ THIS. 
+-#
+-# Instead of changing this file [unless you want to check it back in],
+-# you should consider creating a 'trnslocal.mk' file in this same directory.
+-# Then, you can have your local changes remain even if you upgrade or re
+-# configure the ICU.
+-#
+-# Example 'trnslocal.mk' files:
+-#
+-#  * To add an additional transliterators to the list: 
+-#    _____________________________________________________
+-#    |  TRANSLIT_SOURCE_LOCAL =   myTranslitRules.txt ...
+-#
+-#  * To REPLACE the default list and only build with a few
+-#     transliterators:
+-#    _____________________________________________________
+-#    |  TRANLIST_SOURCE = el.txt th.txt
+-#
+-#
+-
+-TRANSLIT_SOURCE=root.txt en.txt el.txt
+diff -Naur a/source/data/zone/resfiles.mk b/source/data/zone/resfiles.mk
+--- a/source/data/zone/resfiles.mk	2010-04-28 08:28:40.000000000 -0700
++++ b/source/data/zone/resfiles.mk	1969-12-31 16:00:00.000000000 -0800
+@@ -1,82 +0,0 @@
+-# *   Copyright (C) 1998-2010, International Business Machines
+-# *   Corporation and others.  All Rights Reserved.
+-ZONE_CLDR_VERSION = 1.8.1
+-# A list of txt's to build
+-# Note:
+-#
+-#   If you are thinking of modifying this file, READ THIS.
+-#
+-# Instead of changing this file [unless you want to check it back in],
+-# you should consider creating a 'reslocal.mk' file in this same directory.
+-# Then, you can have your local changes remain even if you upgrade or
+-# reconfigure ICU.
+-#
+-# Example 'reslocal.mk' files:
+-#
+-#  * To add an additional locale to the list:
+-#    _____________________________________________________
+-#    |  ZONE_SOURCE_LOCAL =   myLocale.txt ...
+-#
+-#  * To REPLACE the default list and only build with a few
+-#    locales:
+-#    _____________________________________________________
+-#    |  ZONE_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
+-#
+-#
+-# Generated by LDML2ICUConverter, from LDML source files.
+-
+-# Aliases without a corresponding xx.xml file (see icu-config.xml & build.xml)
+-ZONE_SYNTHETIC_ALIAS = en_RH.txt he_IL.txt id_ID.txt in_ID.txt\
+- iw_IL.txt ja_JP.txt ja_JP_TRADITIONAL.txt nb_NO.txt nn_NO.txt\
+- no_NO.txt no_NO_NY.txt th_TH.txt th_TH_TRADITIONAL.txt
+-
+-
+-# All aliases (to not be included under 'installed'), but not including root.
+-ZONE_ALIAS_SOURCE = $(ZONE_SYNTHETIC_ALIAS) az_AZ.txt ha_GH.txt ha_NE.txt ha_NG.txt\
+- in.txt iw.txt kk_KZ.txt no.txt pa_IN.txt\
+- pa_PK.txt sh.txt sh_BA.txt sh_CS.txt sh_YU.txt\
+- shi_MA.txt sr_BA.txt sr_CS.txt sr_Cyrl_CS.txt sr_Cyrl_YU.txt\
+- sr_Latn_CS.txt sr_Latn_YU.txt sr_ME.txt sr_RS.txt sr_YU.txt\
+- tl.txt tzm_MA.txt uz_AF.txt uz_UZ.txt zh_CN.txt\
+- zh_HK.txt zh_MO.txt zh_SG.txt zh_TW.txt
+-
+-
+-# Ordinary resources
+-ZONE_SOURCE = af.txt ak.txt am.txt ar.txt\
+- as.txt asa.txt az.txt az_Cyrl.txt az_Latn.txt\
+- az_Latn_AZ.txt be.txt bem.txt bez.txt bg.txt\
+- bm.txt bn.txt bo.txt ca.txt cgg.txt\
+- chr.txt cs.txt cy.txt da.txt dav.txt\
+- de.txt ebu.txt ee.txt el.txt en.txt\
+- en_AU.txt en_CA.txt en_GB.txt en_NZ.txt en_ZA.txt\
+- en_ZW.txt eo.txt es.txt et.txt eu.txt\
+- fa.txt ff.txt fi.txt fil.txt fo.txt\
+- fr.txt fr_CA.txt ga.txt gl.txt gsw.txt\
+- gu.txt guz.txt gv.txt ha.txt ha_Latn.txt\
+- ha_Latn_GH.txt ha_Latn_NE.txt ha_Latn_NG.txt haw.txt he.txt\
+- hi.txt hr.txt hu.txt hy.txt id.txt\
+- ig.txt ii.txt is.txt it.txt ja.txt\
+- jmc.txt ka.txt kab.txt kam.txt kde.txt\
+- kea.txt khq.txt ki.txt kk.txt kk_Cyrl.txt\
+- kk_Cyrl_KZ.txt kl.txt kln.txt km.txt kn.txt\
+- ko.txt kok.txt kw.txt lag.txt lg.txt\
+- lt.txt luo.txt luy.txt lv.txt mas.txt\
+- mer.txt mfe.txt mg.txt mk.txt ml.txt\
+- mr.txt ms.txt mt.txt naq.txt nb.txt\
+- nd.txt ne.txt nl.txt nn.txt nyn.txt\
+- om.txt or.txt pa.txt pa_Arab.txt pa_Arab_PK.txt\
+- pa_Guru.txt pa_Guru_IN.txt pl.txt ps.txt pt.txt\
+- pt_PT.txt rm.txt ro.txt rof.txt ru.txt\
+- rw.txt rwk.txt saq.txt seh.txt ses.txt\
+- sg.txt shi.txt shi_Latn.txt shi_Latn_MA.txt shi_Tfng.txt\
+- si.txt sk.txt sl.txt sn.txt so.txt\
+- sq.txt sr.txt sr_Cyrl.txt sr_Cyrl_BA.txt sr_Cyrl_RS.txt\
+- sr_Latn.txt sr_Latn_BA.txt sr_Latn_ME.txt sr_Latn_RS.txt sv.txt\
+- sw.txt ta.txt te.txt teo.txt th.txt\
+- ti.txt to.txt tr.txt tzm.txt tzm_Latn.txt\
+- tzm_Latn_MA.txt uk.txt ur.txt uz.txt uz_Arab.txt\
+- uz_Arab_AF.txt uz_Cyrl.txt uz_Cyrl_UZ.txt uz_Latn.txt vi.txt\
+- vun.txt xog.txt yo.txt zh.txt zh_Hans.txt\
+- zh_Hans_CN.txt zh_Hans_SG.txt zh_Hant.txt zh_Hant_HK.txt zh_Hant_MO.txt\
+- zh_Hant_TW.txt zu.txt
+-
diff --git a/icu.patches/icu-56.description b/icu.patches/icu-56.description
new file mode 100644
index 0000000..7be2f4b
--- /dev/null
+++ b/icu.patches/icu-56.description
@@ -0,0 +1,2 @@
+To save on image size, strip out unused icu functionality.
+ICU User Guide talks about how to do this:  http://userguide.icu-project.org/packaging
diff --git a/icu.patches/icu-56.patch b/icu.patches/icu-56.patch
new file mode 100644
index 0000000..e9087d0
--- /dev/null
+++ b/icu.patches/icu-56.patch
@@ -0,0 +1,57 @@
+diff -Naur a/source/common/unicode/uconfig.h b/source/common/unicode/uconfig.h
+--- a/source/common/unicode/uconfig.h	2010-04-28 08:27:34.000000000 -0700
++++ b/source/common/unicode/uconfig.h	2015-07-23 13:05:07.489176056 -0700
+@@ -131,7 +131,7 @@
+  * @stable ICU 2.4
+  */
+ #ifndef UCONFIG_NO_LEGACY_CONVERSION
+-#   define UCONFIG_NO_LEGACY_CONVERSION 0
++#   define UCONFIG_NO_LEGACY_CONVERSION 1
+ #endif
+ 
+ /**
+@@ -163,7 +163,7 @@
+  * @stable ICU 2.4
+  */
+ #ifndef UCONFIG_NO_BREAK_ITERATION
+-#   define UCONFIG_NO_BREAK_ITERATION 0
++#   define UCONFIG_NO_BREAK_ITERATION 1
+ #endif
+ 
+ /**
+@@ -173,7 +173,7 @@
+  * @stable ICU 2.6
+  */
+ #ifndef UCONFIG_NO_IDNA
+-#   define UCONFIG_NO_IDNA 0
++#   define UCONFIG_NO_IDNA 1
+ #endif
+ 
+ /* i18n library switches ---------------------------------------------------- */
+@@ -205,7 +205,7 @@
+  * @stable ICU 2.4
+  */
+ #ifndef UCONFIG_NO_TRANSLITERATION
+-#   define UCONFIG_NO_TRANSLITERATION 0
++#   define UCONFIG_NO_TRANSLITERATION 1
+ #endif
+ 
+ /**
+@@ -215,7 +215,7 @@
+  * @stable ICU 2.4
+  */
+ #ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
+-#   define UCONFIG_NO_REGULAR_EXPRESSIONS 0
++#   define UCONFIG_NO_REGULAR_EXPRESSIONS 1
+ #endif
+ 
+ /**
+@@ -225,7 +225,7 @@
+  * @stable ICU 3.2
+  */
+ #ifndef UCONFIG_NO_SERVICE
+-#   define UCONFIG_NO_SERVICE 0
++#   define UCONFIG_NO_SERVICE 1
+ #endif
+ 
+ #endif
diff --git a/icu.tar.gz b/icu.tar.gz
new file mode 100644
index 0000000..1ce2111
--- /dev/null
+++ b/icu.tar.gz
Binary files differ
diff --git a/icu.url b/icu.url
new file mode 100644
index 0000000..27d38f8
--- /dev/null
+++ b/icu.url
@@ -0,0 +1 @@
+http://download.icu-project.org/files/icu4c/4.4.1/icu4c-4_4_1-src.tgz
diff --git a/icu.version b/icu.version
new file mode 100644
index 0000000..cca25a9
--- /dev/null
+++ b/icu.version
@@ -0,0 +1 @@
+4.4.1
diff --git a/snapshots/diamondsim/gnu/gcc/4.x.x/development/icu-snapshot.tar.bz2 b/snapshots/diamondsim/gnu/gcc/4.x.x/development/icu-snapshot.tar.bz2
new file mode 100644
index 0000000..07e43a9
--- /dev/null
+++ b/snapshots/diamondsim/gnu/gcc/4.x.x/development/icu-snapshot.tar.bz2
Binary files differ
