Here is the solution
1. Download the source from ICU website
2. untar the source to say /linux/icu/
3. First make a copy of the source cp -rfd /linux/icu/source /linux/icu/pre_build
4. Now go to cd /linux/icu/pre_build/source do ./configure and make
5. Compile for the current OS
6. Now go to cd /linux/icu/source
7. ./configure --prefix=/home/linux/ICU/icu/source/OUT --enable-tests=no --enable-samples=no --with-cross-build=/linux/icu/pre_build/source --build=i686-linux --host=i686-pokysdk-linux --target=arm-poky-linux-gnueabi --prefix=/opt/poky/1.8/sysroots/i686-pokysdk-linux/usr --exec_prefix=/opt/poky/1.8/sysroots/i686-pokysdk-linux/usr --bindir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi --sbindir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi --libexecdir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi --datadir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/usr/share --sysconfdir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/etc --sharedstatedir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/com --localstatedir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/var --libdir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/usr/lib/arm-poky-linux-gnueabi --includedir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/usr/include --oldincludedir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/Usr/include --infodir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/usr/share/info --mandir=/opt/poky/1.8/sysroots/i686-pokysdk-linux/usr/share/man
8. make
Now your ICU is cross compiled.