+ xLIBS=$LIBS
+ LIBS="$LIBS $READLINE_LIBS"
+ AC_TRY_LINK([
+ #include <stdio.h>
+ #include <readline/readline.h>
+ ],[
+ static void f()
+ {
+ rl_attempted_completion_over = 0;
+ }
+ ],AC_DEFINE(HAVE_READLINE_COMPLETION_OVER))
+ AC_TRY_LINK([
+ #include <stdio.h>
+ #include <readline/readline.h>
+ ],[
+ static void f()
+ {
+ rl_completion_matches (0, 0);
+ }
+ ],AC_DEFINE(HAVE_READLINE_RL_COMPLETION_MATCHES))
+ LIBS=$xLIBS
+fi
+dnl ------ iconv
+AC_ARG_WITH(iconv, [ --with-iconv[=DIR] iconv library in DIR])
+if test "$with_iconv" != "no"; then
+ AC_MSG_CHECKING(for iconv)
+ oldLIBS="$LIBS"
+ oldCPPFLAGS="${CPPFLAGS}"
+ if test "$with_iconv" != "yes" -a "$with_iconv" != ""; then
+ LIBS="$LIBS -L${with_iconv}/lib"
+ CPPFLAGS="${CPPFLAGS} -I${with_iconv}/include"
+ fi
+ AC_TRY_LINK([
+ #include <iconv.h>
+ ],[
+ static void f() {iconv_t t = iconv_open("", ""); }
+ ],[
+ AC_DEFINE(HAVE_ICONV_H)
+ AC_MSG_RESULT(yes)
+ ],[
+ LIBS="$LIBS -liconv"
+ AC_TRY_LINK([
+ #include <iconv.h>
+ ],[
+ static void f() {iconv_t t = iconv_open("", ""); }
+ ],[
+ AC_DEFINE(HAVE_ICONV_H)
+ AC_MSG_RESULT(yes)
+ ],[
+ LIBS="$oldLIBS"
+ CPPFLAGS="$oldCPPFLAGS"
+ AC_MSG_RESULT(no)
+ ])
+ ])
+fi
+dnl ------ various functions
+AC_CHECK_FUNCS(vsnprintf gettimeofday poll)
+if test "$ac_cv_func_poll" = "yes"; then
+ AC_CHECK_HEADERS(sys/poll.h)
+fi
+dnl ------ socklen_t
+dnl AC_CHECK_TYPES(socklen_t)
+AC_MSG_CHECKING(for socklen_t)
+AC_CACHE_VAL(ac_cv_check_socklen_t,
+[ac_cv_check_socklen_t=''
+AC_TRY_COMPILE([
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/socket.h>
+],
+ [socklen_t len;],
+ ac_cv_check_socklen_t=yes,
+ ac_cv_check_socklen_t=no)])
+AC_MSG_RESULT($ac_cv_check_socklen_t)
+if test "$ac_cv_check_socklen_t" = "yes"; then
+ AC_DEFINE(HAVE_SOCKLEN_T)
+else
+ AC_MSG_CHECKING(whether net size is of type size_t)
+ AC_CACHE_VAL(ac_cv_check_getpeername_accepts_size_t,
+ [ac_cv_check_getpeername_accepts_size_t=''
+ AC_TRY_COMPILE([
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/socket.h>
+],
+ [size_t mylen; getpeername(0, (struct sockaddr *)NULL, &mylen);],
+ ac_cv_check_getpeername_accepts_size_t=yes,
+ ac_cv_check_getpeername_accepts_size_t=no)])
+ AC_MSG_RESULT($ac_cv_check_getpeername_accepts_size_t)
+ if test "$ac_cv_check_getpeername_accepts_size_t" = yes; then
+ AC_DEFINE(GETPEERNAME_ACCEPTS_SIZE_T_FOR_THIRD_ARGUMENT)
+ fi