]> granicus.if.org Git - php/commitdiff
- Fixed bug #16165 again. We check libc for iconv functions only if
authorfoobar <sniper@php.net>
Thu, 21 Mar 2002 20:22:05 +0000 (20:22 +0000)
committerfoobar <sniper@php.net>
Thu, 21 Mar 2002 20:22:05 +0000 (20:22 +0000)
  no path is given for --with-iconv.
# I hope this is the last time.

acinclude.m4
ext/iconv/iconv.c

index 631b0dce4307eb6987db9eead9db12d6657596c6..23fa1b19861d41ddfb1038e9b86930a823c715e4 100644 (file)
@@ -1374,14 +1374,25 @@ AC_DEFUN(PHP_SETUP_ICONV, [
   found_iconv=no
   unset ICONV_DIR
 
-  AC_CHECK_FUNC(iconv, [
-    PHP_DEFINE(HAVE_ICONV)
-    found_iconv=yes
-  ],[
-    AC_CHECK_FUNC(libiconv,[
-      PHP_DEFINE(HAVE_LIBICONV)
+  dnl
+  dnl Check libc first if no path is provided in --with-iconv
+  dnl
+  if test "$PHP_ICONV" = "yes"; then
+    AC_CHECK_FUNC(iconv, [
+      PHP_DEFINE(HAVE_ICONV)
       found_iconv=yes
-  ],[
+    ],[
+      AC_CHECK_FUNC(libiconv,[
+        PHP_DEFINE(HAVE_LIBICONV)
+        found_iconv=yes
+      ])
+    ])
+  fi
+
+  dnl
+  dnl Check external libs for iconv funcs
+  dnl
+  if test "$found_iconv" = "no"; then
 
     for i in $PHP_ICONV /usr/local /usr; do
       if test -r $i/include/giconv.h; then
@@ -1396,7 +1407,7 @@ AC_DEFUN(PHP_SETUP_ICONV, [
     done
 
     if test -z "$ICONV_DIR"; then
-      AC_MSG_ERROR([Please specify the location of iconv with --with-iconv])
+      AC_MSG_ERROR([Please specify the install prefix of iconv with --with-iconv=<DIR>])
     fi
   
     if test -f $ICONV_DIR/lib/lib$iconv_lib_name.a ||
@@ -1416,11 +1427,11 @@ AC_DEFUN(PHP_SETUP_ICONV, [
         -L$ICONV_DIR/lib
       ])
     fi
-  ])
-  ])
+  fi
 
   if test "$found_iconv" = "yes"; then
     if test -n "$ICONV_DIR"; then
+      AC_DEFINE(HAVE_ICONV, 1, [ ])
       PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, $1)
       PHP_ADD_INCLUDE($ICONV_DIR/include)
     fi
index 472d6ce85a110a22e8445f22f609ba30dd7ee1b0..99d172a963a39183c8194807f52aeca73e9030f6 100644 (file)
 
 #if HAVE_ICONV
 
+#ifdef HAVE_GICONV_H
+#include <giconv.h>
+#else
 #include <iconv.h>
+#endif
+
 #include <errno.h>
 
 #include "php_globals.h"