sniper          Tue Jan  3 13:21:08 2006 UTC

  Modified files:              (Branch: PHP_5_1)
    /php-src    NEWS 
    /php-src/ext/iconv  config.m4 
  Log:
  - Fixed bug #35288 (iconv() function defined as libiconv())
  
http://cvs.php.net/viewcvs.cgi/php-src/NEWS?r1=1.2027.2.335&r2=1.2027.2.336&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.335 php-src/NEWS:1.2027.2.336
--- php-src/NEWS:1.2027.2.335   Mon Jan  2 22:19:37 2006
+++ php-src/NEWS        Tue Jan  3 13:21:07 2006
@@ -22,6 +22,7 @@
 - Fixed bug #35517 (mysql_stmt_fetch returns NULL on data truncation). (Georg)
 - Fixed bug #35377 (PDO_SQLITE: undefined reference to "fdatasync").
   (Nuno, Jani)
+- Fixed bug 35288 (iconv() function defined as libiconv()). (Nuno)
 - Fixed bug #29955 (mb_strtoupper() / lower() broken with Turkish encoding).
   (Rui)
 - Fixed bug #28899 (mb_substr() and substr() behave differently when
http://cvs.php.net/viewcvs.cgi/php-src/ext/iconv/config.m4?r1=1.33.2.2&r2=1.33.2.3&diff_format=u
Index: php-src/ext/iconv/config.m4
diff -u php-src/ext/iconv/config.m4:1.33.2.2 
php-src/ext/iconv/config.m4:1.33.2.3
--- php-src/ext/iconv/config.m4:1.33.2.2        Thu Oct 13 19:28:58 2005
+++ php-src/ext/iconv/config.m4 Tue Jan  3 13:21:07 2006
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.33.2.2 2005/10/13 19:28:58 sniper Exp $
+dnl $Id: config.m4,v 1.33.2.3 2006/01/03 13:21:07 sniper Exp $
 dnl
 
 PHP_ARG_WITH(iconv, for iconv support,
@@ -14,9 +14,6 @@
   ])
 
   if test "$iconv_avail" != "no"; then
-    iconv_cflags_save="$CFLAGS"
-    iconv_ldflags_save="$LDFLAGS"
-
     if test -z "$ICONV_DIR"; then
       for i in /usr/local /usr; do
         if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then
@@ -40,46 +37,55 @@
       PHP_ICONV_H_PATH="$PHP_ICONV_PREFIX/include/iconv.h"
     fi 
 
-    if test -z "$iconv_lib_name"; then
-      AC_MSG_CHECKING([if iconv is glibc's])
-      AC_TRY_LINK([#include <gnu/libc-version.h>],[gnu_get_libc_version();],
+    AC_MSG_CHECKING([if iconv is glibc's])
+    AC_TRY_LINK([#include <gnu/libc-version.h>],[gnu_get_libc_version();],
+    [
+      AC_MSG_RESULT(yes)
+      iconv_impl_name="glibc"
+    ],[
+      AC_MSG_RESULT(no)
+    ])
+
+    if test -z "$iconv_impl_name"; then
+      AC_MSG_CHECKING([if using GNU libiconv])
+      php_iconv_old_ld="$LDFLAGS"
+      LDFLAGS="-liconv $LDFLAGS"
+      AC_TRY_RUN([
+        #include <$PHP_ICONV_H_PATH>
+       int main() {
+            printf("%d", _libiconv_version);
+            return 0;
+       }
+      ],[
+        AC_MSG_RESULT(yes)
+        iconv_impl_name="gnu_libiconv"
+      ],[
+        AC_MSG_RESULT(no)
+        LDFLAGS="$php_iconv_old_ld"
+      ])
+    fi
+
+    if test -z "$iconv_impl_name"; then
+      AC_MSG_CHECKING([if iconv is Konstantin Chuguev's])
+      AC_TRY_LINK([#include <iconv.h>],[iconv_ccs_init(NULL, NULL);],
       [
         AC_MSG_RESULT(yes)
-        iconv_impl_name="glibc"
+        iconv_impl_name="bsd"
       ],[
         AC_MSG_RESULT(no)
       ])
-    else
-      case "$iconv_lib_name" in
-        iconv [)]
-          AC_MSG_CHECKING([if iconv is Konstantin Chuguev'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 [)]
-          iconv_impl_name="gnu_libiconv"
-          ;;
-
-        biconv [)]
-          iconv_impl_name="bsd"
-          ;;
-      esac
-    fi 
+    fi
 
     echo > ext/iconv/php_have_bsd_iconv.h
     echo > ext/iconv/php_have_glibc_iconv.h
+    echo > ext/iconv/php_have_libiconv.h
 
     case "$iconv_impl_name" in
       gnu_libiconv [)]
         PHP_DEFINE([PHP_ICONV_IMPL],[\"libiconv\"],[ext/iconv])
         AC_DEFINE([PHP_ICONV_IMPL],["libiconv"],[Which iconv implementation to 
use])
+        PHP_DEFINE([HAVE_LIBICONV],1,[ext/iconv])
+        PHP_ADD_LIBRARY_WITH_PATH(iconv, "$PHP_ICONV_PREFIX/$PHP_LIBDIR", 
ICONV_SHARED_LIBADD)
         ;;
 
       bsd [)]
@@ -141,9 +147,6 @@
       AC_MSG_RESULT([no])
     ])
 
-    CFLAGS="$iconv_cflags_save"
-    LDFLAGS="$iconv_ldflags_save"
-
     PHP_NEW_EXTENSION(iconv, iconv.c, $ext_shared,, 
[-I\"$PHP_ICONV_PREFIX/include\"])
     PHP_SUBST(ICONV_SHARED_LIBADD)
     PHP_INSTALL_HEADERS([ext/iconv/])

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

Reply via email to