Blame acinclude.m4

Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_DEF (SYMBOL, [INCLUDES], [SILENT])
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Use the C preprocessor to find out if the given object-style symbol
Packit 514978
dnl is defined and get its expansion. This macro will not use default
Packit 514978
dnl includes even if no INCLUDES argument is given. This macro will run
Packit 514978
dnl silently when invoked with three arguments. If the expansion would
Packit 514978
dnl result in a set of double-quoted strings the returned expansion will
Packit 514978
dnl actually be a single double-quoted string concatenating all them.
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_DEF], [
Packit 514978
  AS_VAR_PUSHDEF([ac_HaveDef], [curl_cv_have_def_$1])dnl
Packit 514978
  AS_VAR_PUSHDEF([ac_Def], [curl_cv_def_$1])dnl
Packit 514978
  if test -z "$SED"; then
Packit 514978
    AC_MSG_ERROR([SED not set. Cannot continue without SED being set.])
Packit 514978
  fi
Packit 514978
  if test -z "$GREP"; then
Packit 514978
    AC_MSG_ERROR([GREP not set. Cannot continue without GREP being set.])
Packit 514978
  fi
Packit 514978
  ifelse($3,,[AC_MSG_CHECKING([for preprocessor definition of $1])])
Packit 514978
  tmp_exp=""
Packit 514978
  AC_PREPROC_IFELSE([
Packit 514978
    AC_LANG_SOURCE(
Packit 514978
ifelse($2,,,[$2])[[
Packit 514978
#ifdef $1
Packit 514978
CURL_DEF_TOKEN $1
Packit 514978
#endif
Packit 514978
    ]])
Packit 514978
  ],[
Packit 514978
    tmp_exp=`eval "$ac_cpp conftest.$ac_ext" 2>/dev/null | \
Packit 514978
      "$GREP" CURL_DEF_TOKEN 2>/dev/null | \
Packit 514978
      "$SED" 's/.*CURL_DEF_TOKEN[[ ]][[ ]]*//' 2>/dev/null | \
Packit 514978
      "$SED" 's/[["]][[ ]]*[["]]//g' 2>/dev/null`
Packit 514978
    if test -z "$tmp_exp" || test "$tmp_exp" = "$1"; then
Packit 514978
      tmp_exp=""
Packit 514978
    fi
Packit 514978
  ])
Packit 514978
  if test -z "$tmp_exp"; then
Packit 514978
    AS_VAR_SET(ac_HaveDef, no)
Packit 514978
    ifelse($3,,[AC_MSG_RESULT([no])])
Packit 514978
  else
Packit 514978
    AS_VAR_SET(ac_HaveDef, yes)
Packit 514978
    AS_VAR_SET(ac_Def, $tmp_exp)
Packit 514978
    ifelse($3,,[AC_MSG_RESULT([$tmp_exp])])
Packit 514978
  fi
Packit 514978
  AS_VAR_POPDEF([ac_Def])dnl
Packit 514978
  AS_VAR_POPDEF([ac_HaveDef])dnl
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_DEF_CC (SYMBOL, [INCLUDES], [SILENT])
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Use the C compiler to find out only if the given symbol is defined
Packit 514978
dnl or not, this can not find out its expansion. This macro will not use
Packit 514978
dnl default includes even if no INCLUDES argument is given. This macro
Packit 514978
dnl will run silently when invoked with three arguments.
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_DEF_CC], [
Packit 514978
  AS_VAR_PUSHDEF([ac_HaveDef], [curl_cv_have_def_$1])dnl
Packit 514978
  ifelse($3,,[AC_MSG_CHECKING([for compiler definition of $1])])
Packit 514978
  AC_COMPILE_IFELSE([
Packit 514978
    AC_LANG_SOURCE(
Packit 514978
ifelse($2,,,[$2])[[
Packit 514978
int main (void)
Packit 514978
{
Packit 514978
#ifdef $1
Packit 514978
  return 0;
Packit 514978
#else
Packit 514978
  force compilation error
Packit 514978
#endif
Packit 514978
}
Packit 514978
    ]])
Packit 514978
  ],[
Packit 514978
    tst_symbol_defined="yes"
Packit 514978
  ],[
Packit 514978
    tst_symbol_defined="no"
Packit 514978
  ])
Packit 514978
  if test "$tst_symbol_defined" = "yes"; then
Packit 514978
    AS_VAR_SET(ac_HaveDef, yes)
Packit 514978
    ifelse($3,,[AC_MSG_RESULT([yes])])
Packit 514978
  else
Packit 514978
    AS_VAR_SET(ac_HaveDef, no)
Packit 514978
    ifelse($3,,[AC_MSG_RESULT([no])])
Packit 514978
  fi
Packit 514978
  AS_VAR_POPDEF([ac_HaveDef])dnl
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CARES_CHECK_LIB_XNET
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Verify if X/Open network library is required.
Packit 514978
Packit 514978
AC_DEFUN([CARES_CHECK_LIB_XNET], [
Packit 514978
  AC_MSG_CHECKING([if X/Open network library is required])
Packit 514978
  tst_lib_xnet_required="no"
Packit 514978
  AC_COMPILE_IFELSE([
Packit 514978
    AC_LANG_SOURCE([[
Packit 514978
int main (void)
Packit 514978
{
Packit 514978
#if defined(__hpux) && defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 600)
Packit 514978
  return 0;
Packit 514978
#elif defined(__hpux) && defined(_XOPEN_SOURCE_EXTENDED)
Packit 514978
  return 0;
Packit 514978
#else
Packit 514978
  force compilation error
Packit 514978
#endif
Packit 514978
}
Packit 514978
    ]])
Packit 514978
  ],[
Packit 514978
    tst_lib_xnet_required="yes"
Packit 514978
    LIBS="$LIBS -lxnet"
Packit 514978
  ])
Packit 514978
  AC_MSG_RESULT([$tst_lib_xnet_required])
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CARES_CHECK_AIX_ALL_SOURCE
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Provides a replacement of traditional AC_AIX with
Packit 514978
dnl an uniform behaviour across all autoconf versions,
Packit 514978
dnl and with our own placement rules.
Packit 514978
Packit 514978
AC_DEFUN([CARES_CHECK_AIX_ALL_SOURCE], [
Packit 514978
  AH_VERBATIM([_ALL_SOURCE],
Packit 514978
    [/* Define to 1 if OS is AIX. */
Packit 514978
#ifndef _ALL_SOURCE
Packit 514978
#  undef _ALL_SOURCE
Packit 514978
#endif])
Packit 514978
  AC_BEFORE([$0], [AC_SYS_LARGEFILE])dnl
Packit 514978
  AC_BEFORE([$0], [CARES_CONFIGURE_REENTRANT])dnl
Packit 514978
  AC_MSG_CHECKING([if OS is AIX (to define _ALL_SOURCE)])
Packit 514978
  AC_EGREP_CPP([yes_this_is_aix],[
Packit 514978
#ifdef _AIX
Packit 514978
   yes_this_is_aix
Packit 514978
#endif
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([yes])
Packit 514978
    AC_DEFINE(_ALL_SOURCE)
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([no])
Packit 514978
  ])
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_HEADER_WINDOWS
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check for compilable and valid windows.h header
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_HEADER_WINDOWS], [
Packit 514978
  AC_CACHE_CHECK([for windows.h], [ac_cv_header_windows_h], [
Packit 514978
    AC_COMPILE_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
      ]],[[
Packit 514978
#if defined(__CYGWIN__) || defined(__CEGCC__)
Packit 514978
        HAVE_WINDOWS_H shall not be defined.
Packit 514978
#else
Packit 514978
        int dummy=2*WINVER;
Packit 514978
#endif
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      ac_cv_header_windows_h="yes"
Packit 514978
    ],[
Packit 514978
      ac_cv_header_windows_h="no"
Packit 514978
    ])
Packit 514978
  ])
Packit 514978
  case "$ac_cv_header_windows_h" in
Packit 514978
    yes)
Packit 514978
      AC_DEFINE_UNQUOTED(HAVE_WINDOWS_H, 1,
Packit 514978
        [Define to 1 if you have the windows.h header file.])
Packit 514978
      AC_DEFINE_UNQUOTED(WIN32_LEAN_AND_MEAN, 1,
Packit 514978
        [Define to avoid automatic inclusion of winsock.h])
Packit 514978
      ;;
Packit 514978
  esac
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_NATIVE_WINDOWS
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check if building a native Windows target
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_NATIVE_WINDOWS], [
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
Packit 514978
  AC_CACHE_CHECK([whether build target is a native Windows one], [ac_cv_native_windows], [
Packit 514978
    if test "$ac_cv_header_windows_h" = "no"; then
Packit 514978
      ac_cv_native_windows="no"
Packit 514978
    else
Packit 514978
      AC_COMPILE_IFELSE([
Packit 514978
        AC_LANG_PROGRAM([[
Packit 514978
        ]],[[
Packit 514978
#if defined(__MINGW32__) || defined(__MINGW32CE__) || \
Packit 514978
   (defined(_MSC_VER) && (defined(_WIN32) || defined(_WIN64)))
Packit 514978
          int dummy=1;
Packit 514978
#else
Packit 514978
          Not a native Windows build target.
Packit 514978
#endif
Packit 514978
        ]])
Packit 514978
      ],[
Packit 514978
        ac_cv_native_windows="yes"
Packit 514978
      ],[
Packit 514978
        ac_cv_native_windows="no"
Packit 514978
      ])
Packit 514978
    fi
Packit 514978
  ])
Packit 514978
  AM_CONDITIONAL(DOING_NATIVE_WINDOWS, test "x$ac_cv_native_windows" = xyes)
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_HEADER_WINSOCK
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check for compilable and valid winsock.h header
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_HEADER_WINSOCK], [
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
Packit 514978
  AC_CACHE_CHECK([for winsock.h], [ac_cv_header_winsock_h], [
Packit 514978
    AC_COMPILE_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#include <winsock.h>
Packit 514978
      ]],[[
Packit 514978
#if defined(__CYGWIN__) || defined(__CEGCC__)
Packit 514978
        HAVE_WINSOCK_H shall not be defined.
Packit 514978
#else
Packit 514978
        int dummy=WSACleanup();
Packit 514978
#endif
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      ac_cv_header_winsock_h="yes"
Packit 514978
    ],[
Packit 514978
      ac_cv_header_winsock_h="no"
Packit 514978
    ])
Packit 514978
  ])
Packit 514978
  case "$ac_cv_header_winsock_h" in
Packit 514978
    yes)
Packit 514978
      AC_DEFINE_UNQUOTED(HAVE_WINSOCK_H, 1,
Packit 514978
        [Define to 1 if you have the winsock.h header file.])
Packit 514978
      ;;
Packit 514978
  esac
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_HEADER_WINSOCK2
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check for compilable and valid winsock2.h header
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_HEADER_WINSOCK2], [
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
Packit 514978
  AC_CACHE_CHECK([for winsock2.h], [ac_cv_header_winsock2_h], [
Packit 514978
    AC_COMPILE_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#include <winsock2.h>
Packit 514978
      ]],[[
Packit 514978
#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
Packit 514978
        HAVE_WINSOCK2_H shall not be defined.
Packit 514978
#else
Packit 514978
        int dummy=2*IPPROTO_ESP;
Packit 514978
#endif
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      ac_cv_header_winsock2_h="yes"
Packit 514978
    ],[
Packit 514978
      ac_cv_header_winsock2_h="no"
Packit 514978
    ])
Packit 514978
  ])
Packit 514978
  case "$ac_cv_header_winsock2_h" in
Packit 514978
    yes)
Packit 514978
      AC_DEFINE_UNQUOTED(HAVE_WINSOCK2_H, 1,
Packit 514978
        [Define to 1 if you have the winsock2.h header file.])
Packit 514978
      ;;
Packit 514978
  esac
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_HEADER_WS2TCPIP
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check for compilable and valid ws2tcpip.h header
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_HEADER_WS2TCPIP], [
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
Packit 514978
  AC_CACHE_CHECK([for ws2tcpip.h], [ac_cv_header_ws2tcpip_h], [
Packit 514978
    AC_COMPILE_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#include <winsock2.h>
Packit 514978
#include <ws2tcpip.h>
Packit 514978
      ]],[[
Packit 514978
#if defined(__CYGWIN__) || defined(__CEGCC__) || defined(__MINGW32CE__)
Packit 514978
        HAVE_WS2TCPIP_H shall not be defined.
Packit 514978
#else
Packit 514978
        int dummy=2*IP_PKTINFO;
Packit 514978
#endif
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      ac_cv_header_ws2tcpip_h="yes"
Packit 514978
    ],[
Packit 514978
      ac_cv_header_ws2tcpip_h="no"
Packit 514978
    ])
Packit 514978
  ])
Packit 514978
  case "$ac_cv_header_ws2tcpip_h" in
Packit 514978
    yes)
Packit 514978
      AC_DEFINE_UNQUOTED(HAVE_WS2TCPIP_H, 1,
Packit 514978
        [Define to 1 if you have the ws2tcpip.h header file.])
Packit 514978
      ;;
Packit 514978
  esac
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_HEADER_MALLOC
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check for compilable and valid malloc.h header,
Packit 514978
dnl and check if it is needed even with stdlib.h
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_HEADER_MALLOC], [
Packit 514978
  AC_CACHE_CHECK([for malloc.h], [ac_cv_header_malloc_h], [
Packit 514978
    AC_COMPILE_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#include <malloc.h>
Packit 514978
      ]],[[
Packit 514978
        void *p = malloc(10);
Packit 514978
        void *q = calloc(10,10);
Packit 514978
        free(p);
Packit 514978
        free(q);
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      ac_cv_header_malloc_h="yes"
Packit 514978
    ],[
Packit 514978
      ac_cv_header_malloc_h="no"
Packit 514978
    ])
Packit 514978
  ])
Packit 514978
  if test "$ac_cv_header_malloc_h" = "yes"; then
Packit 514978
    AC_DEFINE_UNQUOTED(HAVE_MALLOC_H, 1,
Packit 514978
      [Define to 1 if you have the malloc.h header file.])
Packit 514978
    #
Packit 514978
    AC_COMPILE_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#include <stdlib.h>
Packit 514978
      ]],[[
Packit 514978
        void *p = malloc(10);
Packit 514978
        void *q = calloc(10,10);
Packit 514978
        free(p);
Packit 514978
        free(q);
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      curl_cv_need_header_malloc_h="no"
Packit 514978
    ],[
Packit 514978
      curl_cv_need_header_malloc_h="yes"
Packit 514978
    ])
Packit 514978
    #
Packit 514978
    case "$curl_cv_need_header_malloc_h" in
Packit 514978
      yes)
Packit 514978
        AC_DEFINE_UNQUOTED(NEED_MALLOC_H, 1,
Packit 514978
          [Define to 1 if you need the malloc.h header file even with stdlib.h])
Packit 514978
        ;;
Packit 514978
    esac
Packit 514978
  fi
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_HEADER_MEMORY
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check for compilable and valid memory.h header,
Packit 514978
dnl and check if it is needed even with stdlib.h for
Packit 514978
dnl memory related functions.
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_HEADER_MEMORY], [
Packit 514978
  AC_CACHE_CHECK([for memory.h], [ac_cv_header_memory_h], [
Packit 514978
    AC_COMPILE_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#include <memory.h>
Packit 514978
      ]],[[
Packit 514978
        void *p = malloc(10);
Packit 514978
        void *q = calloc(10,10);
Packit 514978
        free(p);
Packit 514978
        free(q);
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      ac_cv_header_memory_h="yes"
Packit 514978
    ],[
Packit 514978
      ac_cv_header_memory_h="no"
Packit 514978
    ])
Packit 514978
  ])
Packit 514978
  if test "$ac_cv_header_memory_h" = "yes"; then
Packit 514978
    AC_DEFINE_UNQUOTED(HAVE_MEMORY_H, 1,
Packit 514978
      [Define to 1 if you have the memory.h header file.])
Packit 514978
    #
Packit 514978
    AC_COMPILE_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#include <stdlib.h>
Packit 514978
      ]],[[
Packit 514978
        void *p = malloc(10);
Packit 514978
        void *q = calloc(10,10);
Packit 514978
        free(p);
Packit 514978
        free(q);
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      curl_cv_need_header_memory_h="no"
Packit 514978
    ],[
Packit 514978
      curl_cv_need_header_memory_h="yes"
Packit 514978
    ])
Packit 514978
    #
Packit 514978
    case "$curl_cv_need_header_memory_h" in
Packit 514978
      yes)
Packit 514978
        AC_DEFINE_UNQUOTED(NEED_MEMORY_H, 1,
Packit 514978
          [Define to 1 if you need the memory.h header file even with stdlib.h])
Packit 514978
        ;;
Packit 514978
    esac
Packit 514978
  fi
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_FUNC_GETNAMEINFO
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Test if the getnameinfo function is available,
Packit 514978
dnl and check the types of five of its arguments.
Packit 514978
dnl If the function succeeds HAVE_GETNAMEINFO will be
Packit 514978
dnl defined, defining the types of the arguments in
Packit 514978
dnl GETNAMEINFO_TYPE_ARG1, GETNAMEINFO_TYPE_ARG2,
Packit 514978
dnl GETNAMEINFO_TYPE_ARG46 and GETNAMEINFO_TYPE_ARG7,
Packit 514978
dnl and also defining the type qualifier of first
Packit 514978
dnl argument in GETNAMEINFO_QUAL_ARG1.
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WS2TCPIP])dnl
Packit 514978
  AC_CHECK_HEADERS(sys/types.h sys/socket.h netdb.h)
Packit 514978
  #
Packit 514978
  AC_MSG_CHECKING([for getnameinfo])
Packit 514978
  AC_LINK_IFELSE([
Packit 514978
    AC_LANG_FUNC_LINK_TRY([getnameinfo])
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([yes])
Packit 514978
    curl_cv_getnameinfo="yes"
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([no])
Packit 514978
    curl_cv_getnameinfo="no"
Packit 514978
  ])
Packit 514978
  #
Packit 514978
  if test "$curl_cv_getnameinfo" != "yes"; then
Packit 514978
    AC_MSG_CHECKING([deeper for getnameinfo])
Packit 514978
    AC_LINK_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
      ]],[[
Packit 514978
        getnameinfo();
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      AC_MSG_RESULT([yes])
Packit 514978
      curl_cv_getnameinfo="yes"
Packit 514978
    ],[
Packit 514978
      AC_MSG_RESULT([but still no])
Packit 514978
      curl_cv_getnameinfo="no"
Packit 514978
    ])
Packit 514978
  fi
Packit 514978
  #
Packit 514978
  if test "$curl_cv_getnameinfo" != "yes"; then
Packit 514978
    AC_MSG_CHECKING([deeper and deeper for getnameinfo])
Packit 514978
    AC_LINK_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#ifdef HAVE_WS2TCPIP_H
Packit 514978
#include <ws2tcpip.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_NETDB_H
Packit 514978
#include <netdb.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
      ]],[[
Packit 514978
        getnameinfo(0, 0, 0, 0, 0, 0, 0);
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      AC_MSG_RESULT([yes])
Packit 514978
      curl_cv_getnameinfo="yes"
Packit 514978
    ],[
Packit 514978
      AC_MSG_RESULT([but still no])
Packit 514978
      curl_cv_getnameinfo="no"
Packit 514978
    ])
Packit 514978
  fi
Packit 514978
  #
Packit 514978
  if test "$curl_cv_getnameinfo" = "yes"; then
Packit 514978
    AC_CACHE_CHECK([types of arguments for getnameinfo],
Packit 514978
      [curl_cv_func_getnameinfo_args], [
Packit 514978
      curl_cv_func_getnameinfo_args="unknown"
Packit 514978
      for gni_arg1 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
Packit 514978
        for gni_arg2 in 'socklen_t' 'size_t' 'int'; do
Packit 514978
          for gni_arg46 in 'size_t' 'int' 'socklen_t' 'unsigned int' 'DWORD'; do
Packit 514978
            for gni_arg7 in 'int' 'unsigned int'; do
Packit 514978
              if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
Packit 514978
                AC_COMPILE_IFELSE([
Packit 514978
                  AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#if (!defined(_WIN32_WINNT)) || (_WIN32_WINNT < 0x0501)
Packit 514978
#undef _WIN32_WINNT
Packit 514978
#define _WIN32_WINNT 0x0501
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#ifdef HAVE_WS2TCPIP_H
Packit 514978
#include <ws2tcpip.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#define GNICALLCONV WSAAPI
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_NETDB_H
Packit 514978
#include <netdb.h>
Packit 514978
#endif
Packit 514978
#define GNICALLCONV
Packit 514978
#endif
Packit 514978
                    extern int GNICALLCONV getnameinfo($gni_arg1, $gni_arg2,
Packit 514978
                                           char *, $gni_arg46,
Packit 514978
                                           char *, $gni_arg46,
Packit 514978
                                           $gni_arg7);
Packit 514978
                  ]],[[
Packit 514978
                    $gni_arg2 salen=0;
Packit 514978
                    $gni_arg46 hostlen=0;
Packit 514978
                    $gni_arg46 servlen=0;
Packit 514978
                    $gni_arg7 flags=0;
Packit 514978
                    int res = getnameinfo(0, salen, 0, hostlen, 0, servlen, flags);
Packit 514978
                  ]])
Packit 514978
                ],[
Packit 514978
                  curl_cv_func_getnameinfo_args="$gni_arg1,$gni_arg2,$gni_arg46,$gni_arg7"
Packit 514978
                ])
Packit 514978
              fi
Packit 514978
            done
Packit 514978
          done
Packit 514978
        done
Packit 514978
      done
Packit 514978
    ]) # AC-CACHE-CHECK
Packit 514978
    if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
Packit 514978
      AC_MSG_WARN([Cannot find proper types to use for getnameinfo args])
Packit 514978
      AC_MSG_WARN([HAVE_GETNAMEINFO will not be defined])
Packit 514978
    else
Packit 514978
      gni_prev_IFS=$IFS; IFS=','
Packit 514978
      set dummy `echo "$curl_cv_func_getnameinfo_args" | sed 's/\*/\*/g'`
Packit 514978
      IFS=$gni_prev_IFS
Packit 514978
      shift
Packit 514978
      #
Packit 514978
      gni_qual_type_arg1=$[1]
Packit 514978
      #
Packit 514978
      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG2, $[2],
Packit 514978
        [Define to the type of arg 2 for getnameinfo.])
Packit 514978
      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG46, $[3],
Packit 514978
        [Define to the type of args 4 and 6 for getnameinfo.])
Packit 514978
      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG7, $[4],
Packit 514978
        [Define to the type of arg 7 for getnameinfo.])
Packit 514978
      #
Packit 514978
      prev_sh_opts=$-
Packit 514978
      #
Packit 514978
      case $prev_sh_opts in
Packit 514978
        *f*)
Packit 514978
          ;;
Packit 514978
        *)
Packit 514978
          set -f
Packit 514978
          ;;
Packit 514978
      esac
Packit 514978
      #
Packit 514978
      case "$gni_qual_type_arg1" in
Packit 514978
        const*)
Packit 514978
          gni_qual_arg1=const
Packit 514978
          gni_type_arg1=`echo $gni_qual_type_arg1 | sed 's/^const //'`
Packit 514978
        ;;
Packit 514978
        *)
Packit 514978
          gni_qual_arg1=
Packit 514978
          gni_type_arg1=$gni_qual_type_arg1
Packit 514978
        ;;
Packit 514978
      esac
Packit 514978
      #
Packit 514978
      AC_DEFINE_UNQUOTED(GETNAMEINFO_QUAL_ARG1, $gni_qual_arg1,
Packit 514978
        [Define to the type qualifier of arg 1 for getnameinfo.])
Packit 514978
      AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG1, $gni_type_arg1,
Packit 514978
        [Define to the type of arg 1 for getnameinfo.])
Packit 514978
      #
Packit 514978
      case $prev_sh_opts in
Packit 514978
        *f*)
Packit 514978
          ;;
Packit 514978
        *)
Packit 514978
          set +f
Packit 514978
          ;;
Packit 514978
      esac
Packit 514978
      #
Packit 514978
      AC_DEFINE_UNQUOTED(HAVE_GETNAMEINFO, 1,
Packit 514978
        [Define to 1 if you have the getnameinfo function.])
Packit 514978
      ac_cv_func_getnameinfo="yes"
Packit 514978
    fi
Packit 514978
  fi
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl TYPE_SOCKADDR_STORAGE
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check for struct sockaddr_storage. Most IPv6-enabled
Packit 514978
dnl hosts have it, but AIX 4.3 is one known exception.
Packit 514978
Packit 514978
AC_DEFUN([TYPE_SOCKADDR_STORAGE],
Packit 514978
[
Packit 514978
   AC_CHECK_TYPE([struct sockaddr_storage],
Packit 514978
        AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1,
Packit 514978
                  [if struct sockaddr_storage is defined]), ,
Packit 514978
   [
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_NETINET_IN_H
Packit 514978
#include <netinet/in.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_ARPA_INET_H
Packit 514978
#include <arpa/inet.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
   ])
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_NI_WITHSCOPEID
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check for working NI_WITHSCOPEID in getnameinfo()
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_NI_WITHSCOPEID], [
Packit 514978
  AC_REQUIRE([CURL_CHECK_FUNC_GETNAMEINFO])dnl
Packit 514978
  AC_REQUIRE([TYPE_SOCKADDR_STORAGE])dnl
Packit 514978
  AC_CHECK_HEADERS(stdio.h sys/types.h sys/socket.h \
Packit 514978
                   netdb.h netinet/in.h arpa/inet.h)
Packit 514978
  #
Packit 514978
  AC_CACHE_CHECK([for working NI_WITHSCOPEID],
Packit 514978
    [ac_cv_working_ni_withscopeid], [
Packit 514978
    AC_RUN_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#ifdef HAVE_STDLIB_H
Packit 514978
#include <stdlib.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_STDIO_H
Packit 514978
#include <stdio.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_NETDB_H
Packit 514978
#include <netdb.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_NETINET_IN_H
Packit 514978
#include <netinet/in.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_ARPA_INET_H
Packit 514978
#include <arpa/inet.h>
Packit 514978
#endif
Packit 514978
      ]],[[
Packit 514978
#if defined(NI_WITHSCOPEID) && defined(HAVE_GETNAMEINFO)
Packit 514978
#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
Packit 514978
        struct sockaddr_storage sa;
Packit 514978
#else
Packit 514978
        unsigned char sa[256];
Packit 514978
#endif
Packit 514978
        char hostbuf[NI_MAXHOST];
Packit 514978
        int rc;
Packit 514978
        GETNAMEINFO_TYPE_ARG2 salen = (GETNAMEINFO_TYPE_ARG2)sizeof(sa);
Packit 514978
        GETNAMEINFO_TYPE_ARG46 hostlen = (GETNAMEINFO_TYPE_ARG46)sizeof(hostbuf);
Packit 514978
        GETNAMEINFO_TYPE_ARG7 flags = NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
Packit 514978
        int fd = socket(AF_INET6, SOCK_STREAM, 0);
Packit 514978
        if(fd < 0) {
Packit 514978
          perror("socket()");
Packit 514978
          return 1; /* Error creating socket */
Packit 514978
        }
Packit 514978
        rc = getsockname(fd, (GETNAMEINFO_TYPE_ARG1)&sa, &salen);
Packit 514978
        if(rc) {
Packit 514978
          perror("getsockname()");
Packit 514978
          return 2; /* Error retrieving socket name */
Packit 514978
        }
Packit 514978
        rc = getnameinfo((GETNAMEINFO_TYPE_ARG1)&sa, salen, hostbuf, hostlen, NULL, 0, flags);
Packit 514978
        if(rc) {
Packit 514978
          printf("rc = %s\n", gai_strerror(rc));
Packit 514978
          return 3; /* Error translating socket address */
Packit 514978
        }
Packit 514978
        return 0; /* Ok, NI_WITHSCOPEID works */
Packit 514978
#else
Packit 514978
        return 4; /* Error, NI_WITHSCOPEID not defined or no getnameinfo() */
Packit 514978
#endif
Packit 514978
      ]]) # AC-LANG-PROGRAM
Packit 514978
    ],[
Packit 514978
      # Exit code == 0. Program worked.
Packit 514978
      ac_cv_working_ni_withscopeid="yes"
Packit 514978
    ],[
Packit 514978
      # Exit code != 0. Program failed.
Packit 514978
      ac_cv_working_ni_withscopeid="no"
Packit 514978
    ],[
Packit 514978
      # Program is not run when cross-compiling. So we assume
Packit 514978
      # NI_WITHSCOPEID will work if we are able to compile it.
Packit 514978
      AC_COMPILE_IFELSE([
Packit 514978
        AC_LANG_PROGRAM([[
Packit 514978
#include <sys/types.h>
Packit 514978
#include <sys/socket.h>
Packit 514978
#include <netdb.h>
Packit 514978
        ]],[[
Packit 514978
          unsigned int dummy= NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
Packit 514978
        ]])
Packit 514978
      ],[
Packit 514978
        ac_cv_working_ni_withscopeid="yes"
Packit 514978
      ],[
Packit 514978
        ac_cv_working_ni_withscopeid="no"
Packit 514978
      ]) # AC-COMPILE-IFELSE
Packit 514978
    ]) # AC-RUN-IFELSE
Packit 514978
  ]) # AC-CACHE-CHECK
Packit 514978
  case "$ac_cv_working_ni_withscopeid" in
Packit 514978
    yes)
Packit 514978
      AC_DEFINE(HAVE_NI_WITHSCOPEID, 1,
Packit 514978
        [Define to 1 if NI_WITHSCOPEID exists and works.])
Packit 514978
      ;;
Packit 514978
  esac
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_FUNC_RECV
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Test if the socket recv() function is available,
Packit 514978
dnl and check its return type and the types of its
Packit 514978
dnl arguments. If the function succeeds HAVE_RECV
Packit 514978
dnl will be defined, defining the types of the arguments
Packit 514978
dnl in RECV_TYPE_ARG1, RECV_TYPE_ARG2, RECV_TYPE_ARG3
Packit 514978
dnl and RECV_TYPE_ARG4, defining the type of the function
Packit 514978
dnl return value in RECV_TYPE_RETV.
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_FUNC_RECV], [
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
Packit 514978
  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
Packit 514978
  #
Packit 514978
  AC_MSG_CHECKING([for recv])
Packit 514978
  AC_LINK_IFELSE([
Packit 514978
    AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#else
Packit 514978
#ifdef HAVE_WINSOCK_H
Packit 514978
#include <winsock.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
    ]],[[
Packit 514978
      recv(0, 0, 0, 0);
Packit 514978
    ]])
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([yes])
Packit 514978
    curl_cv_recv="yes"
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([no])
Packit 514978
    curl_cv_recv="no"
Packit 514978
  ])
Packit 514978
  #
Packit 514978
  if test "$curl_cv_recv" = "yes"; then
Packit 514978
    AC_CACHE_CHECK([types of args and return type for recv],
Packit 514978
      [curl_cv_func_recv_args], [
Packit 514978
      curl_cv_func_recv_args="unknown"
Packit 514978
      for recv_retv in 'int' 'ssize_t'; do
Packit 514978
        for recv_arg1 in 'int' 'ssize_t' 'SOCKET'; do
Packit 514978
          for recv_arg2 in 'char *' 'void *'; do
Packit 514978
            for recv_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
Packit 514978
              for recv_arg4 in 'int' 'unsigned int'; do
Packit 514978
                if test "$curl_cv_func_recv_args" = "unknown"; then
Packit 514978
                  AC_COMPILE_IFELSE([
Packit 514978
                    AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#else
Packit 514978
#ifdef HAVE_WINSOCK_H
Packit 514978
#include <winsock.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#define RECVCALLCONV PASCAL
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#define RECVCALLCONV
Packit 514978
#endif
Packit 514978
                      extern $recv_retv RECVCALLCONV
Packit 514978
                      recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4);
Packit 514978
                    ]],[[
Packit 514978
                      $recv_arg1 s=0;
Packit 514978
                      $recv_arg2 buf=0;
Packit 514978
                      $recv_arg3 len=0;
Packit 514978
                      $recv_arg4 flags=0;
Packit 514978
                      $recv_retv res = recv(s, buf, len, flags);
Packit 514978
                    ]])
Packit 514978
                  ],[
Packit 514978
                    curl_cv_func_recv_args="$recv_arg1,$recv_arg2,$recv_arg3,$recv_arg4,$recv_retv"
Packit 514978
                  ])
Packit 514978
                fi
Packit 514978
              done
Packit 514978
            done
Packit 514978
          done
Packit 514978
        done
Packit 514978
      done
Packit 514978
    ]) # AC-CACHE-CHECK
Packit 514978
    if test "$curl_cv_func_recv_args" = "unknown"; then
Packit 514978
      AC_MSG_ERROR([Cannot find proper types to use for recv args])
Packit 514978
    else
Packit 514978
      recv_prev_IFS=$IFS; IFS=','
Packit 514978
      set dummy `echo "$curl_cv_func_recv_args" | sed 's/\*/\*/g'`
Packit 514978
      IFS=$recv_prev_IFS
Packit 514978
      shift
Packit 514978
      #
Packit 514978
      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG1, $[1],
Packit 514978
        [Define to the type of arg 1 for recv.])
Packit 514978
      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG2, $[2],
Packit 514978
        [Define to the type of arg 2 for recv.])
Packit 514978
      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG3, $[3],
Packit 514978
        [Define to the type of arg 3 for recv.])
Packit 514978
      AC_DEFINE_UNQUOTED(RECV_TYPE_ARG4, $[4],
Packit 514978
        [Define to the type of arg 4 for recv.])
Packit 514978
      AC_DEFINE_UNQUOTED(RECV_TYPE_RETV, $[5],
Packit 514978
        [Define to the function return type for recv.])
Packit 514978
      #
Packit 514978
      AC_DEFINE_UNQUOTED(HAVE_RECV, 1,
Packit 514978
        [Define to 1 if you have the recv function.])
Packit 514978
      ac_cv_func_recv="yes"
Packit 514978
    fi
Packit 514978
  else
Packit 514978
    AC_MSG_ERROR([Unable to link function recv])
Packit 514978
  fi
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_FUNC_SEND
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Test if the socket send() function is available,
Packit 514978
dnl and check its return type and the types of its
Packit 514978
dnl arguments. If the function succeeds HAVE_SEND
Packit 514978
dnl will be defined, defining the types of the arguments
Packit 514978
dnl in SEND_TYPE_ARG1, SEND_TYPE_ARG2, SEND_TYPE_ARG3
Packit 514978
dnl and SEND_TYPE_ARG4, defining the type of the function
Packit 514978
dnl return value in SEND_TYPE_RETV, and also defining the
Packit 514978
dnl type qualifier of second argument in SEND_QUAL_ARG2.
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_FUNC_SEND], [
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
Packit 514978
  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
Packit 514978
  #
Packit 514978
  AC_MSG_CHECKING([for send])
Packit 514978
  AC_LINK_IFELSE([
Packit 514978
    AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#else
Packit 514978
#ifdef HAVE_WINSOCK_H
Packit 514978
#include <winsock.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
    ]],[[
Packit 514978
      send(0, 0, 0, 0);
Packit 514978
    ]])
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([yes])
Packit 514978
    curl_cv_send="yes"
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([no])
Packit 514978
    curl_cv_send="no"
Packit 514978
  ])
Packit 514978
  #
Packit 514978
  if test "$curl_cv_send" = "yes"; then
Packit 514978
    AC_CACHE_CHECK([types of args and return type for send],
Packit 514978
      [curl_cv_func_send_args], [
Packit 514978
      curl_cv_func_send_args="unknown"
Packit 514978
      for send_retv in 'int' 'ssize_t'; do
Packit 514978
        for send_arg1 in 'int' 'ssize_t' 'SOCKET'; do
Packit 514978
          for send_arg2 in 'char *' 'void *' 'const char *' 'const void *'; do
Packit 514978
            for send_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
Packit 514978
              for send_arg4 in 'int' 'unsigned int'; do
Packit 514978
                if test "$curl_cv_func_send_args" = "unknown"; then
Packit 514978
                  AC_COMPILE_IFELSE([
Packit 514978
                    AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#else
Packit 514978
#ifdef HAVE_WINSOCK_H
Packit 514978
#include <winsock.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#define SENDCALLCONV PASCAL
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#define SENDCALLCONV
Packit 514978
#endif
Packit 514978
                      extern $send_retv SENDCALLCONV
Packit 514978
                      send($send_arg1, $send_arg2, $send_arg3, $send_arg4);
Packit 514978
                    ]],[[
Packit 514978
                      $send_arg1 s=0;
Packit 514978
                      $send_arg3 len=0;
Packit 514978
                      $send_arg4 flags=0;
Packit 514978
                      $send_retv res = send(s, 0, len, flags);
Packit 514978
                    ]])
Packit 514978
                  ],[
Packit 514978
                    curl_cv_func_send_args="$send_arg1,$send_arg2,$send_arg3,$send_arg4,$send_retv"
Packit 514978
                  ])
Packit 514978
                fi
Packit 514978
              done
Packit 514978
            done
Packit 514978
          done
Packit 514978
        done
Packit 514978
      done
Packit 514978
    ]) # AC-CACHE-CHECK
Packit 514978
    if test "$curl_cv_func_send_args" = "unknown"; then
Packit 514978
      AC_MSG_ERROR([Cannot find proper types to use for send args])
Packit 514978
    else
Packit 514978
      send_prev_IFS=$IFS; IFS=','
Packit 514978
      set dummy `echo "$curl_cv_func_send_args" | sed 's/\*/\*/g'`
Packit 514978
      IFS=$send_prev_IFS
Packit 514978
      shift
Packit 514978
      #
Packit 514978
      send_qual_type_arg2=$[2]
Packit 514978
      #
Packit 514978
      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG1, $[1],
Packit 514978
        [Define to the type of arg 1 for send.])
Packit 514978
      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG3, $[3],
Packit 514978
        [Define to the type of arg 3 for send.])
Packit 514978
      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG4, $[4],
Packit 514978
        [Define to the type of arg 4 for send.])
Packit 514978
      AC_DEFINE_UNQUOTED(SEND_TYPE_RETV, $[5],
Packit 514978
        [Define to the function return type for send.])
Packit 514978
      #
Packit 514978
      prev_sh_opts=$-
Packit 514978
      #
Packit 514978
      case $prev_sh_opts in
Packit 514978
        *f*)
Packit 514978
          ;;
Packit 514978
        *)
Packit 514978
          set -f
Packit 514978
          ;;
Packit 514978
      esac
Packit 514978
      #
Packit 514978
      case "$send_qual_type_arg2" in
Packit 514978
        const*)
Packit 514978
          send_qual_arg2=const
Packit 514978
          send_type_arg2=`echo $send_qual_type_arg2 | sed 's/^const //'`
Packit 514978
        ;;
Packit 514978
        *)
Packit 514978
          send_qual_arg2=
Packit 514978
          send_type_arg2=$send_qual_type_arg2
Packit 514978
        ;;
Packit 514978
      esac
Packit 514978
      #
Packit 514978
      AC_DEFINE_UNQUOTED(SEND_QUAL_ARG2, $send_qual_arg2,
Packit 514978
        [Define to the type qualifier of arg 2 for send.])
Packit 514978
      AC_DEFINE_UNQUOTED(SEND_TYPE_ARG2, $send_type_arg2,
Packit 514978
        [Define to the type of arg 2 for send.])
Packit 514978
      #
Packit 514978
      case $prev_sh_opts in
Packit 514978
        *f*)
Packit 514978
          ;;
Packit 514978
        *)
Packit 514978
          set +f
Packit 514978
          ;;
Packit 514978
      esac
Packit 514978
      #
Packit 514978
      AC_DEFINE_UNQUOTED(HAVE_SEND, 1,
Packit 514978
        [Define to 1 if you have the send function.])
Packit 514978
      ac_cv_func_send="yes"
Packit 514978
    fi
Packit 514978
  else
Packit 514978
    AC_MSG_ERROR([Unable to link function send])
Packit 514978
  fi
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_FUNC_RECVFROM
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Test if the socket recvfrom() function is available,
Packit 514978
dnl and check its return type and the types of its
Packit 514978
dnl arguments. If the function succeeds HAVE_RECVFROM
Packit 514978
dnl will be defined, defining the types of the arguments
Packit 514978
dnl in RECVFROM_TYPE_ARG1, RECVFROM_TYPE_ARG2, and so on
Packit 514978
dnl to RECVFROM_TYPE_ARG6, defining also the type of the
Packit 514978
dnl function return value in RECVFROM_TYPE_RETV.
Packit 514978
dnl Notice that the types returned for pointer arguments
Packit 514978
dnl will actually be the type pointed by the pointer.
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
Packit 514978
  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
Packit 514978
  #
Packit 514978
  AC_MSG_CHECKING([for recvfrom])
Packit 514978
  AC_LINK_IFELSE([
Packit 514978
    AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#else
Packit 514978
#ifdef HAVE_WINSOCK_H
Packit 514978
#include <winsock.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
    ]],[[
Packit 514978
      recvfrom(0, 0, 0, 0, 0, 0);
Packit 514978
    ]])
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([yes])
Packit 514978
    curl_cv_recvfrom="yes"
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([no])
Packit 514978
    curl_cv_recvfrom="no"
Packit 514978
  ])
Packit 514978
  #
Packit 514978
  if test "$curl_cv_recvfrom" = "yes"; then
Packit 514978
    AC_CACHE_CHECK([types of args and return type for recvfrom],
Packit 514978
      [curl_cv_func_recvfrom_args], [
Packit 514978
      curl_cv_func_recvfrom_args="unknown"
Packit 514978
      for recvfrom_retv in 'int' 'ssize_t'; do
Packit 514978
        for recvfrom_arg1 in 'int' 'ssize_t' 'SOCKET'; do
Packit 514978
          for recvfrom_arg2 in 'char *' 'void *'; do
Packit 514978
            for recvfrom_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
Packit 514978
              for recvfrom_arg4 in 'int' 'unsigned int'; do
Packit 514978
                for recvfrom_arg5 in 'struct sockaddr *' 'void *' 'const struct sockaddr *'; do
Packit 514978
                  for recvfrom_arg6 in 'socklen_t *' 'int *' 'unsigned int *' 'size_t *' 'void *'; do
Packit 514978
                    if test "$curl_cv_func_recvfrom_args" = "unknown"; then
Packit 514978
                      AC_COMPILE_IFELSE([
Packit 514978
                        AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#else
Packit 514978
#ifdef HAVE_WINSOCK_H
Packit 514978
#include <winsock.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#define RECVFROMCALLCONV PASCAL
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#define RECVFROMCALLCONV
Packit 514978
#endif
Packit 514978
                          extern $recvfrom_retv RECVFROMCALLCONV
Packit 514978
                          recvfrom($recvfrom_arg1, $recvfrom_arg2,
Packit 514978
                                   $recvfrom_arg3, $recvfrom_arg4,
Packit 514978
                                   $recvfrom_arg5, $recvfrom_arg6);
Packit 514978
                        ]],[[
Packit 514978
                          $recvfrom_arg1 s=0;
Packit 514978
                          $recvfrom_arg2 buf=0;
Packit 514978
                          $recvfrom_arg3 len=0;
Packit 514978
                          $recvfrom_arg4 flags=0;
Packit 514978
                          $recvfrom_arg5 addr=0;
Packit 514978
                          $recvfrom_arg6 addrlen=0;
Packit 514978
                          $recvfrom_retv res=0;
Packit 514978
                          res = recvfrom(s, buf, len, flags, addr, addrlen);
Packit 514978
                        ]])
Packit 514978
                      ],[
Packit 514978
                        curl_cv_func_recvfrom_args="$recvfrom_arg1,$recvfrom_arg2,$recvfrom_arg3,$recvfrom_arg4,$recvfrom_arg5,$recvfrom_arg6,$recvfrom_retv"
Packit 514978
                      ])
Packit 514978
                    fi
Packit 514978
                  done
Packit 514978
                done
Packit 514978
              done
Packit 514978
            done
Packit 514978
          done
Packit 514978
        done
Packit 514978
      done
Packit 514978
    ]) # AC-CACHE-CHECK
Packit 514978
    # Nearly last minute change for this release starts here
Packit 514978
    AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
Packit 514978
      [Define to 1 if you have the recvfrom function.])
Packit 514978
    ac_cv_func_recvfrom="yes"
Packit 514978
    # Nearly last minute change for this release ends here
Packit 514978
    if test "$curl_cv_func_recvfrom_args" = "unknown"; then
Packit 514978
      AC_MSG_WARN([Cannot find proper types to use for recvfrom args])
Packit 514978
    else
Packit 514978
      recvfrom_prev_IFS=$IFS; IFS=','
Packit 514978
      set dummy `echo "$curl_cv_func_recvfrom_args" | sed 's/\*/\*/g'`
Packit 514978
      IFS=$recvfrom_prev_IFS
Packit 514978
      shift
Packit 514978
      #
Packit 514978
      recvfrom_ptrt_arg2=$[2]
Packit 514978
      recvfrom_qual_ptrt_arg5=$[5]
Packit 514978
      recvfrom_ptrt_arg6=$[6]
Packit 514978
      #
Packit 514978
      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG1, $[1],
Packit 514978
        [Define to the type of arg 1 for recvfrom.])
Packit 514978
      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG3, $[3],
Packit 514978
        [Define to the type of arg 3 for recvfrom.])
Packit 514978
      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG4, $[4],
Packit 514978
        [Define to the type of arg 4 for recvfrom.])
Packit 514978
      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_RETV, $[7],
Packit 514978
        [Define to the function return type for recvfrom.])
Packit 514978
      #
Packit 514978
      prev_sh_opts=$-
Packit 514978
      #
Packit 514978
      case $prev_sh_opts in
Packit 514978
        *f*)
Packit 514978
          ;;
Packit 514978
        *)
Packit 514978
          set -f
Packit 514978
          ;;
Packit 514978
      esac
Packit 514978
      #
Packit 514978
      case "$recvfrom_qual_ptrt_arg5" in
Packit 514978
        const*)
Packit 514978
          recvfrom_qual_arg5=const
Packit 514978
          recvfrom_ptrt_arg5=`echo $recvfrom_qual_ptrt_arg5 | sed 's/^const //'`
Packit 514978
        ;;
Packit 514978
        *)
Packit 514978
          recvfrom_qual_arg5=
Packit 514978
          recvfrom_ptrt_arg5=$recvfrom_qual_ptrt_arg5
Packit 514978
        ;;
Packit 514978
      esac
Packit 514978
      #
Packit 514978
      recvfrom_type_arg2=`echo $recvfrom_ptrt_arg2 | sed 's/ \*//'`
Packit 514978
      recvfrom_type_arg5=`echo $recvfrom_ptrt_arg5 | sed 's/ \*//'`
Packit 514978
      recvfrom_type_arg6=`echo $recvfrom_ptrt_arg6 | sed 's/ \*//'`
Packit 514978
      #
Packit 514978
      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2, $recvfrom_type_arg2,
Packit 514978
        [Define to the type pointed by arg 2 for recvfrom.])
Packit 514978
      AC_DEFINE_UNQUOTED(RECVFROM_QUAL_ARG5, $recvfrom_qual_arg5,
Packit 514978
        [Define to the type qualifier pointed by arg 5 for recvfrom.])
Packit 514978
      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5, $recvfrom_type_arg5,
Packit 514978
        [Define to the type pointed by arg 5 for recvfrom.])
Packit 514978
      AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6, $recvfrom_type_arg6,
Packit 514978
        [Define to the type pointed by arg 6 for recvfrom.])
Packit 514978
      #
Packit 514978
      if test "$recvfrom_type_arg2" = "void"; then
Packit 514978
        AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2_IS_VOID, 1,
Packit 514978
          [Define to 1 if the type pointed by arg 2 for recvfrom is void.])
Packit 514978
      fi
Packit 514978
      if test "$recvfrom_type_arg5" = "void"; then
Packit 514978
        AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5_IS_VOID, 1,
Packit 514978
          [Define to 1 if the type pointed by arg 5 for recvfrom is void.])
Packit 514978
      fi
Packit 514978
      if test "$recvfrom_type_arg6" = "void"; then
Packit 514978
        AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6_IS_VOID, 1,
Packit 514978
          [Define to 1 if the type pointed by arg 6 for recvfrom is void.])
Packit 514978
      fi
Packit 514978
      #
Packit 514978
      case $prev_sh_opts in
Packit 514978
        *f*)
Packit 514978
          ;;
Packit 514978
        *)
Packit 514978
          set +f
Packit 514978
          ;;
Packit 514978
      esac
Packit 514978
      #
Packit 514978
      AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
Packit 514978
        [Define to 1 if you have the recvfrom function.])
Packit 514978
      ac_cv_func_recvfrom="yes"
Packit 514978
    fi
Packit 514978
  else
Packit 514978
    AC_MSG_WARN([Unable to link function recvfrom])
Packit 514978
    AC_MSG_WARN([Your system will be vulnerable to some forms of DNS cache poisoning])
Packit 514978
  fi
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_MSG_NOSIGNAL
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check for MSG_NOSIGNAL
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_MSG_NOSIGNAL], [
Packit 514978
  AC_CHECK_HEADERS(sys/types.h sys/socket.h)
Packit 514978
  AC_CACHE_CHECK([for MSG_NOSIGNAL], [ac_cv_msg_nosignal], [
Packit 514978
    AC_COMPILE_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#else
Packit 514978
#ifdef HAVE_WINSOCK_H
Packit 514978
#include <winsock.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
      ]],[[
Packit 514978
        int flag=MSG_NOSIGNAL;
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      ac_cv_msg_nosignal="yes"
Packit 514978
    ],[
Packit 514978
      ac_cv_msg_nosignal="no"
Packit 514978
    ])
Packit 514978
  ])
Packit 514978
  case "$ac_cv_msg_nosignal" in
Packit 514978
    yes)
Packit 514978
      AC_DEFINE_UNQUOTED(HAVE_MSG_NOSIGNAL, 1,
Packit 514978
        [Define to 1 if you have the MSG_NOSIGNAL flag.])
Packit 514978
      ;;
Packit 514978
  esac
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_STRUCT_TIMEVAL
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check for timeval struct
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_STRUCT_TIMEVAL], [
Packit 514978
  AC_REQUIRE([AC_HEADER_TIME])dnl
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
Packit 514978
  AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
Packit 514978
  AC_CHECK_HEADERS(sys/types.h sys/time.h time.h sys/socket.h)
Packit 514978
  AC_CACHE_CHECK([for struct timeval], [ac_cv_struct_timeval], [
Packit 514978
    AC_COMPILE_IFELSE([
Packit 514978
      AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#else
Packit 514978
#ifdef HAVE_WINSOCK_H
Packit 514978
#include <winsock.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_TIME_H
Packit 514978
#include <sys/time.h>
Packit 514978
#ifdef TIME_WITH_SYS_TIME
Packit 514978
#include <time.h>
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_TIME_H
Packit 514978
#include <time.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
      ]],[[
Packit 514978
        struct timeval ts;
Packit 514978
        ts.tv_sec  = 0;
Packit 514978
        ts.tv_usec = 0;
Packit 514978
      ]])
Packit 514978
    ],[
Packit 514978
      ac_cv_struct_timeval="yes"
Packit 514978
    ],[
Packit 514978
      ac_cv_struct_timeval="no"
Packit 514978
    ])
Packit 514978
  ])
Packit 514978
  case "$ac_cv_struct_timeval" in
Packit 514978
    yes)
Packit 514978
      AC_DEFINE_UNQUOTED(HAVE_STRUCT_TIMEVAL, 1,
Packit 514978
        [Define to 1 if you have the timeval struct.])
Packit 514978
      ;;
Packit 514978
  esac
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl TYPE_SIG_ATOMIC_T
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check if the sig_atomic_t type is available, and
Packit 514978
dnl verify if it is already defined as volatile.
Packit 514978
Packit 514978
AC_DEFUN([TYPE_SIG_ATOMIC_T], [
Packit 514978
  AC_CHECK_HEADERS(signal.h)
Packit 514978
  AC_CHECK_TYPE([sig_atomic_t],[
Packit 514978
    AC_DEFINE(HAVE_SIG_ATOMIC_T, 1,
Packit 514978
      [Define to 1 if sig_atomic_t is an available typedef.])
Packit 514978
  ], ,[
Packit 514978
#ifdef HAVE_SIGNAL_H
Packit 514978
#include <signal.h>
Packit 514978
#endif
Packit 514978
  ])
Packit 514978
  case "$ac_cv_type_sig_atomic_t" in
Packit 514978
    yes)
Packit 514978
      #
Packit 514978
      AC_MSG_CHECKING([if sig_atomic_t is already defined as volatile])
Packit 514978
      AC_LINK_IFELSE([
Packit 514978
        AC_LANG_PROGRAM([[
Packit 514978
#ifdef HAVE_SIGNAL_H
Packit 514978
#include <signal.h>
Packit 514978
#endif
Packit 514978
        ]],[[
Packit 514978
          static volatile sig_atomic_t dummy = 0;
Packit 514978
        ]])
Packit 514978
      ],[
Packit 514978
        AC_MSG_RESULT([no])
Packit 514978
        ac_cv_sig_atomic_t_volatile="no"
Packit 514978
      ],[
Packit 514978
        AC_MSG_RESULT([yes])
Packit 514978
        ac_cv_sig_atomic_t_volatile="yes"
Packit 514978
      ])
Packit 514978
      #
Packit 514978
      if test "$ac_cv_sig_atomic_t_volatile" = "yes"; then
Packit 514978
        AC_DEFINE(HAVE_SIG_ATOMIC_T_VOLATILE, 1,
Packit 514978
          [Define to 1 if sig_atomic_t is already defined as volatile.])
Packit 514978
      fi
Packit 514978
      ;;
Packit 514978
  esac
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl TYPE_IN_ADDR_T
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check for in_addr_t: it is used to receive the return code of inet_addr()
Packit 514978
dnl and a few other things.
Packit 514978
Packit 514978
AC_DEFUN([TYPE_IN_ADDR_T], [
Packit 514978
  AC_CHECK_TYPE([in_addr_t], ,[
Packit 514978
    dnl in_addr_t not available
Packit 514978
    AC_CACHE_CHECK([for in_addr_t equivalent],
Packit 514978
      [curl_cv_in_addr_t_equiv], [
Packit 514978
      curl_cv_in_addr_t_equiv="unknown"
Packit 514978
      for t in "unsigned long" int size_t unsigned long; do
Packit 514978
        if test "$curl_cv_in_addr_t_equiv" = "unknown"; then
Packit 514978
          AC_LINK_IFELSE([
Packit 514978
            AC_LANG_PROGRAM([[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#else
Packit 514978
#ifdef HAVE_WINSOCK_H
Packit 514978
#include <winsock.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_NETINET_IN_H
Packit 514978
#include <netinet/in.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_ARPA_INET_H
Packit 514978
#include <arpa/inet.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
            ]],[[
Packit 514978
              $t data = inet_addr ("1.2.3.4");
Packit 514978
            ]])
Packit 514978
          ],[
Packit 514978
            curl_cv_in_addr_t_equiv="$t"
Packit 514978
          ])
Packit 514978
        fi
Packit 514978
      done
Packit 514978
    ])
Packit 514978
    case "$curl_cv_in_addr_t_equiv" in
Packit 514978
      unknown)
Packit 514978
        AC_MSG_ERROR([Cannot find a type to use in place of in_addr_t])
Packit 514978
        ;;
Packit 514978
      *)
Packit 514978
        AC_DEFINE_UNQUOTED(in_addr_t, $curl_cv_in_addr_t_equiv,
Packit 514978
          [Type to use in place of in_addr_t when system does not provide it.])
Packit 514978
        ;;
Packit 514978
    esac
Packit 514978
  ],[
Packit 514978
#undef inline
Packit 514978
#ifdef HAVE_WINDOWS_H
Packit 514978
#ifndef WIN32_LEAN_AND_MEAN
Packit 514978
#define WIN32_LEAN_AND_MEAN
Packit 514978
#endif
Packit 514978
#include <windows.h>
Packit 514978
#ifdef HAVE_WINSOCK2_H
Packit 514978
#include <winsock2.h>
Packit 514978
#else
Packit 514978
#ifdef HAVE_WINSOCK_H
Packit 514978
#include <winsock.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_SOCKET_H
Packit 514978
#include <sys/socket.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_NETINET_IN_H
Packit 514978
#include <netinet/in.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_ARPA_INET_H
Packit 514978
#include <arpa/inet.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
  ])
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Check if monotonic clock_gettime is available.
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC], [
Packit 514978
  AC_REQUIRE([AC_HEADER_TIME])dnl
Packit 514978
  AC_CHECK_HEADERS(sys/types.h sys/time.h time.h)
Packit 514978
  AC_MSG_CHECKING([for monotonic clock_gettime])
Packit 514978
  AC_COMPILE_IFELSE([
Packit 514978
    AC_LANG_PROGRAM([[
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_TIME_H
Packit 514978
#include <sys/time.h>
Packit 514978
#ifdef TIME_WITH_SYS_TIME
Packit 514978
#include <time.h>
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_TIME_H
Packit 514978
#include <time.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
    ]],[[
Packit 514978
      struct timespec ts;
Packit 514978
      (void)clock_gettime(CLOCK_MONOTONIC, &ts);
Packit 514978
    ]])
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([yes])
Packit 514978
    ac_cv_func_clock_gettime="yes"
Packit 514978
  ],[
Packit 514978
    AC_MSG_RESULT([no])
Packit 514978
    ac_cv_func_clock_gettime="no"
Packit 514978
  ])
Packit 514978
  dnl Definition of HAVE_CLOCK_GETTIME_MONOTONIC is intentionally postponed
Packit 514978
  dnl until library linking and run-time checks for clock_gettime succeed.
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl If monotonic clock_gettime is available then,
Packit 514978
dnl check and prepended to LIBS any needed libraries.
Packit 514978
Packit 514978
AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC], [
Packit 514978
  AC_REQUIRE([CURL_CHECK_FUNC_CLOCK_GETTIME_MONOTONIC])dnl
Packit 514978
  #
Packit 514978
  if test "$ac_cv_func_clock_gettime" = "yes"; then
Packit 514978
    #
Packit 514978
    AC_MSG_CHECKING([for clock_gettime in libraries])
Packit 514978
    #
Packit 514978
    curl_cv_save_LIBS="$LIBS"
Packit 514978
    curl_cv_gclk_LIBS="unknown"
Packit 514978
    #
Packit 514978
    for x_xlibs in '' '-lrt' '-lposix4' ; do
Packit 514978
      if test "$curl_cv_gclk_LIBS" = "unknown"; then
Packit 514978
        if test -z "$x_xlibs"; then
Packit 514978
          LIBS="$curl_cv_save_LIBS"
Packit 514978
        else
Packit 514978
          LIBS="$x_xlibs $curl_cv_save_LIBS"
Packit 514978
        fi
Packit 514978
        AC_LINK_IFELSE([
Packit 514978
          AC_LANG_PROGRAM([[
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_TIME_H
Packit 514978
#include <sys/time.h>
Packit 514978
#ifdef TIME_WITH_SYS_TIME
Packit 514978
#include <time.h>
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_TIME_H
Packit 514978
#include <time.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
          ]],[[
Packit 514978
            struct timespec ts;
Packit 514978
            (void)clock_gettime(CLOCK_MONOTONIC, &ts);
Packit 514978
          ]])
Packit 514978
        ],[
Packit 514978
          curl_cv_gclk_LIBS="$x_xlibs"
Packit 514978
        ])
Packit 514978
      fi
Packit 514978
    done
Packit 514978
    #
Packit 514978
    LIBS="$curl_cv_save_LIBS"
Packit 514978
    #
Packit 514978
    case X-"$curl_cv_gclk_LIBS" in
Packit 514978
      X-unknown)
Packit 514978
        AC_MSG_RESULT([cannot find clock_gettime])
Packit 514978
        AC_MSG_WARN([HAVE_CLOCK_GETTIME_MONOTONIC will not be defined])
Packit 514978
        ac_cv_func_clock_gettime="no"
Packit 514978
        ;;
Packit 514978
      X-)
Packit 514978
        AC_MSG_RESULT([no additional lib required])
Packit 514978
        ac_cv_func_clock_gettime="yes"
Packit 514978
        ;;
Packit 514978
      *)
Packit 514978
        if test -z "$curl_cv_save_LIBS"; then
Packit 514978
          LIBS="$curl_cv_gclk_LIBS"
Packit 514978
        else
Packit 514978
          LIBS="$curl_cv_gclk_LIBS $curl_cv_save_LIBS"
Packit 514978
        fi
Packit 514978
        AC_MSG_RESULT([$curl_cv_gclk_LIBS])
Packit 514978
        ac_cv_func_clock_gettime="yes"
Packit 514978
        ;;
Packit 514978
    esac
Packit 514978
    #
Packit 514978
    dnl only do runtime verification when not cross-compiling
Packit 514978
    if test "x$cross_compiling" != "xyes" &&
Packit 514978
      test "$ac_cv_func_clock_gettime" = "yes"; then
Packit 514978
      AC_MSG_CHECKING([if monotonic clock_gettime works])
Packit 514978
      AC_RUN_IFELSE([
Packit 514978
        AC_LANG_PROGRAM([[
Packit 514978
#ifdef HAVE_STDLIB_H
Packit 514978
#include <stdlib.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_TYPES_H
Packit 514978
#include <sys/types.h>
Packit 514978
#endif
Packit 514978
#ifdef HAVE_SYS_TIME_H
Packit 514978
#include <sys/time.h>
Packit 514978
#ifdef TIME_WITH_SYS_TIME
Packit 514978
#include <time.h>
Packit 514978
#endif
Packit 514978
#else
Packit 514978
#ifdef HAVE_TIME_H
Packit 514978
#include <time.h>
Packit 514978
#endif
Packit 514978
#endif
Packit 514978
        ]],[[
Packit 514978
          struct timespec ts;
Packit 514978
          if (0 == clock_gettime(CLOCK_MONOTONIC, &ts))
Packit 514978
            exit(0);
Packit 514978
          else
Packit 514978
            exit(1);
Packit 514978
        ]])
Packit 514978
      ],[
Packit 514978
        AC_MSG_RESULT([yes])
Packit 514978
      ],[
Packit 514978
        AC_MSG_RESULT([no])
Packit 514978
        AC_MSG_WARN([HAVE_CLOCK_GETTIME_MONOTONIC will not be defined])
Packit 514978
        ac_cv_func_clock_gettime="no"
Packit 514978
        LIBS="$curl_cv_save_LIBS"
Packit 514978
      ])
Packit 514978
    fi
Packit 514978
    #
Packit 514978
    case "$ac_cv_func_clock_gettime" in
Packit 514978
      yes)
Packit 514978
        AC_DEFINE_UNQUOTED(HAVE_CLOCK_GETTIME_MONOTONIC, 1,
Packit 514978
          [Define to 1 if you have the clock_gettime function and monotonic timer.])
Packit 514978
        ;;
Packit 514978
    esac
Packit 514978
    #
Packit 514978
  fi
Packit 514978
  #
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CARES_CHECK_LIBS_CONNECT
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Verify if network connect function is already available
Packit 514978
dnl using current libraries or if another one is required.
Packit 514978
Packit 514978
AC_DEFUN([CARES_CHECK_LIBS_CONNECT], [
Packit 514978
  AC_REQUIRE([CARES_INCLUDES_WINSOCK2])dnl
Packit 514978
  AC_MSG_CHECKING([for connect in libraries])
Packit 514978
  tst_connect_save_LIBS="$LIBS"
Packit 514978
  tst_connect_need_LIBS="unknown"
Packit 514978
  for tst_lib in '' '-lsocket' ; do
Packit 514978
    if test "$tst_connect_need_LIBS" = "unknown"; then
Packit 514978
      LIBS="$tst_lib $tst_connect_save_LIBS"
Packit 514978
      AC_LINK_IFELSE([
Packit 514978
        AC_LANG_PROGRAM([[
Packit 514978
          $cares_includes_winsock2
Packit 514978
          #ifndef HAVE_WINDOWS_H
Packit 514978
            int connect(int, void*, int);
Packit 514978
          #endif
Packit 514978
        ]],[[
Packit 514978
          if(0 != connect(0, 0, 0))
Packit 514978
            return 1;
Packit 514978
        ]])
Packit 514978
      ],[
Packit 514978
        tst_connect_need_LIBS="$tst_lib"
Packit 514978
      ])
Packit 514978
    fi
Packit 514978
  done
Packit 514978
  LIBS="$tst_connect_save_LIBS"
Packit 514978
  #
Packit 514978
  case X-"$tst_connect_need_LIBS" in
Packit 514978
    X-unknown)
Packit 514978
      AC_MSG_RESULT([cannot find connect])
Packit 514978
      AC_MSG_ERROR([cannot find connect function in libraries.])
Packit 514978
      ;;
Packit 514978
    X-)
Packit 514978
      AC_MSG_RESULT([yes])
Packit 514978
      ;;
Packit 514978
    *)
Packit 514978
      AC_MSG_RESULT([$tst_connect_need_LIBS])
Packit 514978
      LIBS="$tst_connect_need_LIBS $tst_connect_save_LIBS"
Packit 514978
      ;;
Packit 514978
  esac
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl CARES_DEFINE_UNQUOTED (VARIABLE, [VALUE])
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Like AC_DEFINE_UNQUOTED this macro will define a C preprocessor
Packit 514978
dnl symbol that can be further used in custom template configuration
Packit 514978
dnl files. This macro, unlike AC_DEFINE_UNQUOTED, does not use a third
Packit 514978
dnl argument for the description. Symbol definitions done with this
Packit 514978
dnl macro are intended to be exclusively used in handcrafted *.h.in
Packit 514978
dnl template files. Contrary to what AC_DEFINE_UNQUOTED does, this one
Packit 514978
dnl prevents autoheader generation and insertion of symbol template
Packit 514978
dnl stub and definition into the first configuration header file. Do
Packit 514978
dnl not use this macro as a replacement for AC_DEFINE_UNQUOTED, each
Packit 514978
dnl one serves different functional needs.
Packit 514978
Packit 514978
AC_DEFUN([CARES_DEFINE_UNQUOTED], [
Packit 514978
cat >>confdefs.h <<_EOF
Packit 514978
[@%:@define] $1 ifelse($#, 2, [$2], 1)
Packit 514978
_EOF
Packit 514978
])
Packit 514978
Packit 514978
dnl CARES_CONFIGURE_ARES_SOCKLEN_T
Packit 514978
dnl -------------------------------------------------
Packit 514978
dnl Find out suitable ares_socklen_t data type definition and size, making
Packit 514978
dnl appropriate definitions for template file ares_build.h.in
Packit 514978
dnl to properly configure and use the library.
Packit 514978
dnl
Packit 514978
dnl The need for the ares_socklen_t definition arises mainly to properly
Packit 514978
dnl interface HP-UX systems which on one hand have a typedef'ed socklen_t
Packit 514978
dnl data type which is 32 or 64-Bit wide depending on the data model being
Packit 514978
dnl used, and that on the other hand is only actually used when interfacing
Packit 514978
dnl the X/Open sockets provided in the xnet library.
Packit 514978
Packit 514978
AC_DEFUN([CARES_CONFIGURE_ARES_SOCKLEN_T], [
Packit 514978
  AC_REQUIRE([CARES_INCLUDES_WS2TCPIP])dnl
Packit 514978
  AC_REQUIRE([CARES_INCLUDES_SYS_SOCKET])dnl
Packit 514978
  AC_REQUIRE([CARES_PREPROCESS_CALLCONV])dnl
Packit 514978
  #
Packit 514978
  AC_MSG_CHECKING([for ares_socklen_t data type])
Packit 514978
  cares_typeof_ares_socklen_t="unknown"
Packit 514978
  for arg1 in int SOCKET; do
Packit 514978
    for arg2 in 'struct sockaddr' void; do
Packit 514978
      for t in socklen_t int size_t 'unsigned int' long 'unsigned long' void; do
Packit 514978
        if test "$cares_typeof_ares_socklen_t" = "unknown"; then
Packit 514978
          AC_COMPILE_IFELSE([
Packit 514978
            AC_LANG_PROGRAM([[
Packit 514978
              $cares_includes_ws2tcpip
Packit 514978
              $cares_includes_sys_socket
Packit 514978
              $cares_preprocess_callconv
Packit 514978
              extern int FUNCALLCONV getpeername($arg1, $arg2 *, $t *);
Packit 514978
            ]],[[
Packit 514978
              $t *lenptr = 0;
Packit 514978
              if(0 != getpeername(0, 0, lenptr))
Packit 514978
                return 1;
Packit 514978
            ]])
Packit 514978
          ],[
Packit 514978
            cares_typeof_ares_socklen_t="$t"
Packit 514978
          ])
Packit 514978
        fi
Packit 514978
      done
Packit 514978
    done
Packit 514978
  done
Packit 514978
  for t in socklen_t int; do
Packit 514978
    if test "$cares_typeof_ares_socklen_t" = "void"; then
Packit 514978
      AC_COMPILE_IFELSE([
Packit 514978
        AC_LANG_PROGRAM([[
Packit 514978
          $cares_includes_sys_socket
Packit 514978
          typedef $t ares_socklen_t;
Packit 514978
        ]],[[
Packit 514978
          ares_socklen_t dummy;
Packit 514978
        ]])
Packit 514978
      ],[
Packit 514978
        cares_typeof_ares_socklen_t="$t"
Packit 514978
      ])
Packit 514978
    fi
Packit 514978
  done
Packit 514978
  AC_MSG_RESULT([$cares_typeof_ares_socklen_t])
Packit 514978
  if test "$cares_typeof_ares_socklen_t" = "void" ||
Packit 514978
    test "$cares_typeof_ares_socklen_t" = "unknown"; then
Packit 514978
    AC_MSG_ERROR([cannot find data type for ares_socklen_t.])
Packit 514978
  fi
Packit 514978
  #
Packit 514978
  AC_MSG_CHECKING([size of ares_socklen_t])
Packit 514978
  cares_sizeof_ares_socklen_t="unknown"
Packit 514978
  cares_pull_headers_socklen_t="unknown"
Packit 514978
  if test "$ac_cv_header_ws2tcpip_h" = "yes"; then
Packit 514978
    tst_pull_header_checks='none ws2tcpip'
Packit 514978
    tst_size_checks='4'
Packit 514978
  else
Packit 514978
    tst_pull_header_checks='none systypes syssocket'
Packit 514978
    tst_size_checks='4 8 2'
Packit 514978
  fi
Packit 514978
  for tst_size in $tst_size_checks; do
Packit 514978
    for tst_pull_headers in $tst_pull_header_checks; do
Packit 514978
      if test "$cares_sizeof_ares_socklen_t" = "unknown"; then
Packit 514978
        case $tst_pull_headers in
Packit 514978
          ws2tcpip)
Packit 514978
            tmp_includes="$cares_includes_ws2tcpip"
Packit 514978
            ;;
Packit 514978
          systypes)
Packit 514978
            tmp_includes="$cares_includes_sys_types"
Packit 514978
            ;;
Packit 514978
          syssocket)
Packit 514978
            tmp_includes="$cares_includes_sys_socket"
Packit 514978
            ;;
Packit 514978
          *)
Packit 514978
            tmp_includes=""
Packit 514978
            ;;
Packit 514978
        esac
Packit 514978
        AC_COMPILE_IFELSE([
Packit 514978
          AC_LANG_PROGRAM([[
Packit 514978
            $tmp_includes
Packit 514978
            typedef $cares_typeof_ares_socklen_t ares_socklen_t;
Packit 514978
            typedef char dummy_arr[sizeof(ares_socklen_t) == $tst_size ? 1 : -1];
Packit 514978
          ]],[[
Packit 514978
            ares_socklen_t dummy;
Packit 514978
          ]])
Packit 514978
        ],[
Packit 514978
          cares_sizeof_ares_socklen_t="$tst_size"
Packit 514978
          cares_pull_headers_socklen_t="$tst_pull_headers"
Packit 514978
        ])
Packit 514978
      fi
Packit 514978
    done
Packit 514978
  done
Packit 514978
  AC_MSG_RESULT([$cares_sizeof_ares_socklen_t])
Packit 514978
  if test "$cares_sizeof_ares_socklen_t" = "unknown"; then
Packit 514978
    AC_MSG_ERROR([cannot find out size of ares_socklen_t.])
Packit 514978
  fi
Packit 514978
  #
Packit 514978
  case $cares_pull_headers_socklen_t in
Packit 514978
    ws2tcpip)
Packit 514978
      CARES_DEFINE_UNQUOTED([CARES_PULL_WS2TCPIP_H])
Packit 514978
      ;;
Packit 514978
    systypes)
Packit 514978
      CARES_DEFINE_UNQUOTED([CARES_PULL_SYS_TYPES_H])
Packit 514978
      ;;
Packit 514978
    syssocket)
Packit 514978
      CARES_DEFINE_UNQUOTED([CARES_PULL_SYS_TYPES_H])
Packit 514978
      CARES_DEFINE_UNQUOTED([CARES_PULL_SYS_SOCKET_H])
Packit 514978
      ;;
Packit 514978
  esac
Packit 514978
  CARES_DEFINE_UNQUOTED([CARES_TYPEOF_ARES_SOCKLEN_T], [$cares_typeof_ares_socklen_t])
Packit 514978
  CARES_DEFINE_UNQUOTED([CARES_SIZEOF_ARES_SOCKLEN_T], [$cares_sizeof_ares_socklen_t])
Packit 514978
])
Packit 514978
Packit 514978
Packit 514978
dnl This macro determines if the specified struct exists in the specified file
Packit 514978
dnl Syntax:
Packit 514978
dnl CARES_CHECK_STRUCT(headers, struct name, if found, [if not found])
Packit 514978
Packit 514978
AC_DEFUN([CARES_CHECK_STRUCT], [
Packit 514978
  AC_MSG_CHECKING([for struct $2])
Packit 514978
  AC_TRY_COMPILE([$1],
Packit 514978
    [
Packit 514978
      struct $2 struct_instance;
Packit 514978
    ], ac_struct="yes", ac_found="no")
Packit 514978
  if test "$ac_struct" = "yes" ; then
Packit 514978
    AC_MSG_RESULT(yes)
Packit 514978
    $3
Packit 514978
  else
Packit 514978
    AC_MSG_RESULT(no)
Packit 514978
    $4
Packit 514978
  fi
Packit 514978
])
Packit 514978
Packit 514978
dnl This macro determines if the specified constant exists in the specified file
Packit 514978
dnl Syntax:
Packit 514978
dnl CARES_CHECK_CONSTANT(headers, constant name, if found, [if not found])
Packit 514978
Packit 514978
AC_DEFUN([CARES_CHECK_CONSTANT], [
Packit 514978
  AC_MSG_CHECKING([for $2])
Packit 514978
  AC_EGREP_CPP(VARIABLEWASDEFINED,
Packit 514978
   [
Packit 514978
      $1
Packit 514978
Packit 514978
      #ifdef $2
Packit 514978
        VARIABLEWASDEFINED
Packit 514978
      #else
Packit 514978
        NJET
Packit 514978
      #endif
Packit 514978
    ], ac_constant="yes", ac_constant="no"
Packit 514978
  )
Packit 514978
  if test "$ac_constant" = "yes" ; then
Packit 514978
    AC_MSG_RESULT(yes)
Packit 514978
    $3
Packit 514978
  else
Packit 514978
    AC_MSG_RESULT(no)
Packit 514978
    $4
Packit 514978
  fi
Packit 514978
])
Packit 514978