diff --git a/doc/faq-distrib.xml b/doc/faq-distrib.xml
index b797563bc52ba577ff9681087a08d894fae15495..c4f236fece71ccc6aa131a832c62b5e06c88b8b3 100644
--- a/doc/faq-distrib.xml
+++ b/doc/faq-distrib.xml
@@ -104,9 +104,9 @@
             <ol>
                 <li><em>ICU shared library file</em>:<br></br>
                     icuuc.dll for Windows NT/95/98, or<br></br>
-                    libicu-uc.a for AIX, or<br></br>
-                    libicu-uc.so for Solaris/Linux, or<br></br>
-                    libicu-uc.sl for HP-UX.</li>
+                    libicuuc.a for AIX, or<br></br>
+                    libicuuc.so for Solaris/Linux, or<br></br>
+                    libicuuc.sl for HP-UX.</li>
 
                 <li><em>ICU converter data shared library file:</em><br></br>
                     icudata.dll for Windows NT/95/98, or<br></br>
diff --git a/doc/faq-parse.xml b/doc/faq-parse.xml
index eedd34ffbccc44ec846816b8062cded849007de0..9b5a5b894a4433424e0b0597a81951625766bb07 100644
--- a/doc/faq-parse.xml
+++ b/doc/faq-parse.xml
@@ -75,7 +75,7 @@ export SHLIB_PATH=$SHLIB_PATH:$HOME/fastxmlparser/lib # (HP-UX)</source>
 
       <p>If you are using the enhanced version of this parser from IBM, you will
         need to put in two additional DLLs. In the Windows build these are <code>icuuc.dll</code> and <code>icudata.dll</code> which must be available from your PATH settings. On UNIX, these
-        libraries are called <code>libicu-uc.so</code> and <code>libicudata.so</code> (or <code>.sl</code> for HP-UX or <code>.a</code> for AIX) which must be available from your library search path.</p>
+        libraries are called <code>libicuuc.so</code> and <code>libicudata.so</code> (or <code>.sl</code> for HP-UX or <code>.a</code> for AIX) which must be available from your library search path.</p>
 
     </a>
   </faq>
diff --git a/scripts/packageBinaries.pl b/scripts/packageBinaries.pl
index 743bcc3615c7e9ddedfc1241657123b38919c3de..a8f218623eeca4dff1f6fb3d35fd975db0335959 100644
--- a/scripts/packageBinaries.pl
+++ b/scripts/packageBinaries.pl
@@ -205,7 +205,7 @@ if ($platform =~ m/Windows/  || $platform =~ m/CYGWIN/) {
         util/Platforms/Solaris
         util/Platforms/Tandem
         util/Platforms/Win32
-	util/regx
+        util/regx
         util/Transcoders
         util/Transcoders/ICU
         util/Transcoders/Iconv
@@ -257,17 +257,13 @@ if ($platform =~ m/Windows/  || $platform =~ m/CYGWIN/) {
 
     if ($opt_t =~ m/icu/i && length($ICUROOT) > 0) {
         # Copy the ICU dlls and libs
-        psystem("cp -fv $ICUROOT/bin/$buildmode/icuuc.dll $targetdir/bin");
-        if (length($ICU_DATA) > 0) {
-            psystem("cp -fv $ICUROOT/data/icudata.dll $targetdir/bin");
-            psystem("cp -fv $ICUROOT/data/icudata.lib $targetdir/lib");
-        }
-        else {
-        psystem("cp -fv $ICUROOT/bin/$buildmode/icudata.dll $targetdir/bin");
-            psystem("cp -fv $ICUROOT/bin/$buildmode/icudata.lib $targetdir/lib");
-        }
+        psystem("cp -fv $ICUROOT/bin/icuuc18.dll $targetdir/bin");
+        psystem("cp -fv $ICUROOT/bin/icuuc18d.dll $targetdir/bin");
+        psystem("cp -fv $ICUROOT/source/data/icudt18l.dll $targetdir/bin");
+        psystem("cp -fv $ICUROOT/source/data/icudata.lib $targetdir/lib");
 
-        psystem("cp -fv $ICUROOT/lib/$buildmode/icuuc.lib $targetdir/lib");
+        psystem("cp -fv $ICUROOT/lib/icuuc.lib $targetdir/lib");
+        psystem("cp -fv $ICUROOT/lib/icuucd.lib $targetdir/lib");
     }
     psystem("cp -fv $BUILDDIR/xerces-c_*.lib $targetdir/lib");
     if ($buildmode ne "Debug") {
@@ -454,7 +450,7 @@ if ( ($platform =~ m/AIX/i)    || ($platform =~ m/HP-UX/i) ||
         psystem ("mkdir $targetdir/include/unicode");
     }
     psystem ("mkdir $targetdir/include/sax");
-	psystem ("mkdir $targetdir/include/sax2");
+    psystem ("mkdir $targetdir/include/sax2");
     psystem ("mkdir $targetdir/include/framework");
     psystem ("mkdir $targetdir/include/internal");
     psystem ("mkdir $targetdir/include/parsers");
@@ -492,7 +488,7 @@ if ( ($platform =~ m/AIX/i)    || ($platform =~ m/HP-UX/i) ||
     psystem ("mkdir $targetdir/samples/SAXCount");
     psystem ("mkdir $targetdir/samples/SAX2Count");
     psystem ("mkdir $targetdir/samples/SAXPrint");
-	psystem ("mkdir $targetdir/samples/SAX2Print");
+    psystem ("mkdir $targetdir/samples/SAX2Print");
     psystem ("mkdir $targetdir/samples/DOMCount");
     psystem ("mkdir $targetdir/samples/DOMPrint");
     psystem ("mkdir $targetdir/samples/Redirect");
@@ -544,6 +540,20 @@ if ( ($platform =~ m/AIX/i)    || ($platform =~ m/HP-UX/i) ||
         $ENV{'ICUROOT'} = $ENV{'XMLINSTALL'};
     }
 
+    # Copy the ICU libs for the source build
+    #
+    if (length($ICUROOT) > 0) {
+      if ($platform =~ m/AIX/i) {
+          psystem("ln -s $ICUROOT/source/data/libicudt18b.a $ICUROOT/lib/libicudata.a");
+      }
+      elsif ($platform =~ m/HP-UX/i) {
+          psystem("ln -s $ICUROOT/source/data/libicudt18b.sl $ICUROOT/lib/libicudata.sl");
+      }
+      else {
+          psystem("ln -s $ICUROOT/source/data/libicudt18b.so $ICUROOT/lib/libicudata.so");
+      }
+    }
+
     # make the source files
     print("\n\nBuild the xerces-c library ...\n");
     pchdir ("$XERCESCROOT/src");
@@ -564,8 +574,17 @@ if ( ($platform =~ m/AIX/i)    || ($platform =~ m/HP-UX/i) ||
     #   the eventual binary packaging, even though we are doing it in the build directory.
     #
     if (length($ICUROOT) > 0) {
-	psystem("cp -f $ICUROOT/lib/libicu-uc.* $XERCESCROOT/lib");
-	psystem("cp -f $ICUROOT/data/libicudata.* $XERCESCROOT/lib");
+	psystem("cp -f $ICUROOT/lib/libicuuc.* $XERCESCROOT/lib");
+	psystem("cp -f $ICUROOT/source/data/libicudt18b.* $XERCESCROOT/lib");
+      if ($platform =~ m/AIX/i) {
+          psystem("ln -s libicudt18b.a $XERCESCROOT/lib/libicudata.a");
+      }
+      elsif ($platform =~ m/HP-UX/i) {
+          psystem("ln -s libicudt18b.sl $XERCESCROOT/lib/libicudata.sl");
+      }
+      else {
+          psystem("ln -s libicudt18b.so $XERCESCROOT/lib/libicudata.so");
+      }
     }
 
     # Now build the samples
@@ -639,13 +658,6 @@ if ( ($platform =~ m/AIX/i)    || ($platform =~ m/HP-UX/i) ||
     print ("\n\nCopying binary outputs ...\n");
     psystem("cp -Rf $XERCESCROOT/bin/* $targetdir/bin");
 
-
-
-    #if (length($ICUROOT) > 0) {
-    #    psystem("cp -f $ICUROOT/lib/libicu-uc.* $targetdir/lib");
-    #    psystem("cp -f $ICUROOT/data/libicudata.* $targetdir/lib");
-    #}
-
     psystem("cp -f $XERCESCROOT/lib/*.a $targetdir/lib");
     psystem("cp -f $XERCESCROOT/lib/*.so $targetdir/lib");
     psystem("cp -f $XERCESCROOT/lib/*.sl $targetdir/lib");
@@ -666,7 +678,7 @@ if ( ($platform =~ m/AIX/i)    || ($platform =~ m/HP-UX/i) ||
     psystem("rm -f $targetdir/samples/SAX2Count/Makefile");
     psystem("cp -Rf $XERCESCROOT/samples/SAXPrint/* $targetdir/samples/SAXPrint");
     psystem("rm -f $targetdir/samples/SAXPrint/Makefile");
-	psystem("cp -Rf $XERCESCROOT/samples/SAX2Print/* $targetdir/samples/SAX2Print");
+    psystem("cp -Rf $XERCESCROOT/samples/SAX2Print/* $targetdir/samples/SAX2Print");
     psystem("rm -f $targetdir/samples/SAX2Print/Makefile");
     psystem("cp -Rf $XERCESCROOT/samples/DOMCount/* $targetdir/samples/DOMCount");
     psystem("rm -f $targetdir/samples/DOMCount/Makefile");
diff --git a/src/Makefile.in b/src/Makefile.in
index b2a93c9bb80003c3538a2062e77ff209d38d13da..c02d3306fb05b1639b4b8293e5535745761e5156 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -204,12 +204,10 @@ copy:: lib samples
 	-${MKDIR} ${BINTARGETDIR}/bin
 	-${MKDIR} ${BINTARGETDIR}/lib
 ifeq (${TRANSCODER},ICU)
-	echo -${MKDIR} ${BINTARGETDIR}/lib/icu
-	echo -${MKDIR} ${BINTARGETDIR}/lib/icu/data
-	echo -${MKDIR} ${BINTARGETDIR}/include/icu
+	echo -${MKDIR} ${BINTARGETDIR}/include/unicode
 endif
 ifeq (${MESSAGELOADER},ICU)
-	echo -${MKDIR} ${BINTARGETDIR}/include/icu
+	echo -${MKDIR} ${BINTARGETDIR}/include/unicode
 endif
 	-${MKDIR} ${BINTARGETDIR}/include
 	-${MKDIR} ${BINTARGETDIR}/include/sax
@@ -242,13 +240,13 @@ endif
 	-${CP} -Rf ${XERCESCROOT}/src/parsers/*.hpp ${BINTARGETDIR}/include/parsers
 	-${CP} -Rf ${XERCESCROOT}/src/util/*.hpp ${BINTARGETDIR}/include/util
 	-${CP} -Rf ${XERCESCROOT}/src/util/*.c ${BINTARGETDIR}/include/util
-	-${CP} -Rf ${ICUROOT}/include/* ${BINTARGETDIR}/include/icu
+	-${CP} -Rf ${ICUROOT}/include/* ${BINTARGETDIR}/include/unicode
 
 	@echo Populate the binary output directory
 	@echo Copying binary outputs ...
 	-${CP} -Rf ${XERCESCROOT}/bin/* ${BINTARGETDIR}/bin
 	-${CP} -f ${ICUROOT}/source/tools/makeconv/makeconv ${BINTARGETDIR}/bin
-	-${CP} -f ${ICUROOT}/lib/libicu-uc.* ${BINTARGETDIR}/lib
+	-${CP} -f ${ICUROOT}/lib/libicuuc.* ${BINTARGETDIR}/lib
 	-${CP} -f ${XERCESCROOT}/lib/*.a ${BINTARGETDIR}/lib
 	-${CP} -f ${XERCESCROOT}/lib/*.so ${BINTARGETDIR}/lib
 	-${CP} -f ${XERCESCROOT}/lib/*.sl ${BINTARGETDIR}/lib
@@ -262,10 +260,6 @@ endif
 endif
 	-{RM} -rf ${BINTARGETDIR}/bin/obj
 
-	@echo Copy the locale files
-	-${CP} -f ${ICUROOT}/data/*.cnv ${BINTARGETDIR}/lib/icu/data/
-	-${CP} -f ${ICUROOT}/data/convrtrs.txt ${BINTARGETDIR}/lib/icu/data/
-
 	@echo Populate the samples directory
 	@echo Copying sample files ...
 	-${CP} -f ${XERCESCROOT}/samples/config.guess 	${BINTARGETDIR}/samples