moriyoshi               Tue Oct 29 11:18:13 2002 EDT

  Modified files:              
    /php4/ext/iconv     config.m4 
  Log:
  Improved library identification
  
  
Index: php4/ext/iconv/config.m4
diff -u php4/ext/iconv/config.m4:1.17 php4/ext/iconv/config.m4:1.18
--- php4/ext/iconv/config.m4:1.17       Fri Oct 11 13:48:39 2002
+++ php4/ext/iconv/config.m4    Tue Oct 29 11:18:12 2002
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.17 2002/10/11 17:48:39 moriyoshi Exp $
+dnl $Id: config.m4,v 1.18 2002/10/29 16:18:12 moriyoshi Exp $
 dnl
 
 PHP_ARG_WITH(iconv, for iconv support,
@@ -55,28 +55,57 @@
 
     if test -z "$iconv_lib_name"; then
       AC_MSG_CHECKING([if iconv is glibc's])
-      AC_TRY_COMPILE([#include <iconv.h>],[void __gconv(); int main() { __gconv(); }],
+      AC_TRY_LINK([#include <gnu/libc-version.h>],[gnu_get_libc_version();],
       [
         AC_MSG_RESULT(yes)
-        PHP_DEFINE([HAVE_GLIBC_ICONV],1)
-        AC_DEFINE([HAVE_GLIBC_ICONV],1,[glibc's iconv implementation])
-        PHP_DEFINE([PHP_ICONV_IMPL],[\"glibc\"])
-        AC_DEFINE([PHP_ICONV_IMPL],["glibc"],[Which iconv implementation to use])
+        iconv_impl_name="glibc"
       ],[
         AC_MSG_RESULT(no)
       ])
     else
       case "$iconv_lib_name" in
         iconv [)]
-          PHP_DEFINE([PHP_ICONV_IMPL],[\"libiconv\"])
-          AC_DEFINE([PHP_ICONV_IMPL],["libiconv"],[Which iconv implementation to use])
+          AC_MSG_CHECKING([if iconv is Konstantin Chugeuv's])
+          AC_TRY_LINK([#include <iconv.h>],[iconv_ccs_init(NULL, NULL);],
+          [
+            AC_MSG_RESULT(yes)
+            iconv_impl_name="bsd"
+          ],[
+            AC_MSG_RESULT(no)
+            iconv_impl_name="gnu_libiconv"
+          ])
           ;;
+
         giconv [)]
-          PHP_DEFINE([PHP_ICONV_IMPL],[\"giconv\"])
-          AC_DEFINE([PHP_ICONV_IMPL],["giconv"],[Which iconv implementation to use])
+          iconv_impl_name="gnu_libiconv"
+          ;;
+
+        biconv [)]
+          iconv_impl_name="bsd"
           ;;
       esac
     fi 
+
+    case "$iconv_impl_name" in
+      gnu_libiconv [)]
+        PHP_DEFINE([PHP_ICONV_IMPL],[\"libiconv\"])
+        AC_DEFINE([PHP_ICONV_IMPL],["libiconv"],[Which iconv implementation to use])
+        ;;
+
+      bsd [)]
+        PHP_DEFINE([HAVE_BSD_ICONV],1)
+        AC_DEFINE([HAVE_BSD_ICONV],1,[Konstantin Chugeuv's iconv implementation])
+        PHP_DEFINE([PHP_ICONV_IMPL],[\"BSD iconv\"])
+        AC_DEFINE([PHP_ICONV_IMPL],["BSD iconv"],[Which iconv implementation to use])
+        ;;
+
+      glibc [)]
+        PHP_DEFINE([HAVE_GLIBC_ICONV],1)
+        AC_DEFINE([HAVE_GLIBC_ICONV],1,[glibc's iconv implementation])
+        PHP_DEFINE([PHP_ICONV_IMPL],[\"glibc\"])
+        AC_DEFINE([PHP_ICONV_IMPL],["glibc"],[Which iconv implementation to use])
+        ;;
+    esac
 
     PHP_NEW_EXTENSION(iconv, iconv.c, $ext_shared)
     PHP_SUBST(ICONV_SHARED_LIBADD)



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to