--- configure.in	Wed Dec 20 21:53:46 2006
+++ configure.in.new	Thu Feb  8 13:08:41 2007
@@ -3,8 +3,8 @@
 AC_PROG_CXX
 AC_PROG_LIBTOOL
 AC_CHECK_HEADERS(asm/byteorder.h netinet/in.h errno.h crypt.h)
-AC_CHECK_HEADERS(unicode/uversion.h,,[AC_MSG_ERROR(cannot find ICU headers)])
-AC_CHECK_HEADERS(xercesc/util/XercesVersion.hpp,,[AC_MSG_ERROR(cannot find xercesc headers)])
+#AC_CHECK_HEADERS(unicode/uversion.h,,[AC_MSG_ERROR(cannot find ICU headers)])
+#AC_CHECK_HEADERS(xercesc/util/XercesVersion.hpp,,[AC_MSG_ERROR(cannot find xercesc headers)])
 AC_CHECK_HEADERS(zlib.h,,[AC_MSG_ERROR(cannot find zlib.h)])
 AC_CHECK_TYPES(socklen_t,,,[
 #include <sys/types.h>
@@ -16,13 +16,22 @@
 AC_CHECK_FUNC(gethostbyname, ,[AC_CHECK_LIB(nsl, gethostbyname)])
 AC_CHECK_LIB(crypt,crypt)
 
-dnl Platform-specific Makefile setup
-case "${host}" in
-        *-*-cygwin*)    ICU="-lsicuin -lsicuuc -lsicudt"  ;ICUS=" -DU_STATIC_IMPLEMENTATION";;
-        *)              ICU="-licui18n -licuuc -licudata";ICUS="";;
-esac
 
-			      
+dnl ICU checks
+AC_CHECK_PROG(ICU_CONFIG, icu-config, yes)
+
+if test x$ICU_CONFIG = xyes; then
+	dnl Platform-specific Makefile setup
+	icu_ldflags=`icu-config --ldflags`
+	icu_cppflags=`icu-config --cppflags`
+	case "${host}" in
+			*-*-cygwin*)    ICU="-lsicuin -lsicuuc -lsicudt"  ;ICUS=" -DU_STATIC_IMPLEMENTATION";;
+			*)              ICU="${icu_ldflags}";ICUS="";;
+	esac
+else
+    AC_MSG_ERROR([ICU is required but is not installed on your system])
+fi
+		
 AC_MSG_CHECKING([whether to install Axis CPP support])
 if test "x$AXISCPP_DEPLOY" != "x" && test -d $AXISCPP_DEPLOY;
 then
@@ -51,6 +60,8 @@
 AC_SUBST(ACCESSLOG)
 AC_SUBST(PHPPATH)
 AC_SUBST(PHPEXT)
+AC_SUBST(icu_ldflags)
+AC_SUBST(icu_cppflags)
 
 AC_OUTPUT(Makefile indexer/Makefile server/Makefile oldserver/Makefile xaira_daemon/Makefile xaira_proxy/Makefile samples/Makefile xaira_soap/Makefile xaira_test/Makefile xaira_php/Makefile)