about summary refs log tree commit diff
path: root/configure.ac
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2005-03-21 16:50:17 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2005-03-21 16:50:17 +0000
commite222689ea14bcf037ef5085d85216c8bd2ddd3d0 (patch)
treeb21e27027f452fae2c5a2edd54ef178e480d422f /configure.ac
parent9e942b364aa50cc3a64baab2de39ad030dde2c22 (diff)
downloadzsh-e222689ea14bcf037ef5085d85216c8bd2ddd3d0.tar.gz
zsh-e222689ea14bcf037ef5085d85216c8bd2ddd3d0.tar.xz
zsh-e222689ea14bcf037ef5085d85216c8bd2ddd3d0.zip
merge changes from 4.3 branch
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac44
1 files changed, 38 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index 96bcd2dad..f79a5592d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -727,13 +727,45 @@ fi
 
 AC_CHECK_LIB(socket, socket)
 
-AC_CHECK_LIB(iconv, iconv)
+dnl ---------------
+dnl CHECK FOR ICONV
+dnl ---------------
 
-case "$host_os" in
-  cygwin | darwin*)
-    dnl cygwin iconv() is really libiconv()
-    AC_CHECK_LIB(iconv, libiconv) ;;
-esac
+dnl Find iconv. It may be in libiconv and may be iconv() or libiconv()
+if test "x$ac_cv_header_iconv_h" = "xyes"; then
+  AC_CHECK_FUNC(iconv, ac_found_iconv=yes, ac_found_iconv=no)
+  if test "x$ac_found_iconv" = "xno"; then
+    AC_CHECK_LIB(iconv, iconv, ac_found_iconv=yes)
+    if test "x$ac_found_iconv" = "xno"; then
+      AC_CHECK_LIB(iconv, libiconv, ac_found_iconv=yes)
+    fi
+    if test "x$ac_found_iconv" != "xno"; then
+      LIBS="-liconv $LIBS"
+    fi
+  fi
+fi
+if test "x$ac_found_iconv" = xyes; then
+  AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+fi
+
+dnl Check if iconv uses const in prototype declaration
+if test "x$ac_found_iconv" = "xyes"; then
+  AC_CACHE_CHECK(for iconv declaration, ac_cv_iconv_const,
+    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
+        #include <iconv.h>]],
+        [[#ifdef __cplusplus
+          "C"
+          #endif
+          #if defined(__STDC__) || defined(__cplusplus)
+          size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+          #else
+          size_t iconv();
+          #endif]])],
+      [ac_cv_iconv_const=],
+      [ac_cv_iconv_const=const])])
+  AC_DEFINE_UNQUOTED([ICONV_CONST], $ac_cv_iconv_const,
+    [Define as const if the declaration of iconv() needs const.])
+fi
 
 if test x$enable_pcre = xyes; then
 dnl pcre-config should probably be employed here