])
-dnl CURL_CHECK_HEADER_WINSOCK
-dnl -------------------------------------------------
-dnl Check for compilable and valid winsock.h header
-
-AC_DEFUN([CURL_CHECK_HEADER_WINSOCK], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINDOWS])dnl
- AC_CACHE_CHECK([for winsock.h], [curl_cv_header_winsock_h], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#include <winsock.h>
- ]],[[
-#if defined(__CYGWIN__) || defined(__CEGCC__)
- HAVE_WINSOCK_H shall not be defined.
-#else
- int dummy=WSACleanup();
-#endif
- ]])
- ],[
- curl_cv_header_winsock_h="yes"
- ],[
- curl_cv_header_winsock_h="no"
- ])
- ])
- case "$curl_cv_header_winsock_h" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_WINSOCK_H, 1,
- [Define to 1 if you have the winsock.h header file.])
- ;;
- esac
-])
-
-
dnl CURL_CHECK_HEADER_WINSOCK2
dnl -------------------------------------------------
dnl Check for compilable and valid winsock2.h header
dnl return value in RECV_TYPE_RETV.
AC_DEFUN([CURL_CHECK_FUNC_RECV], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
AC_CHECK_HEADERS(sys/types.h sys/socket.h)
#
#include <windows.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
#endif
#else
#ifdef HAVE_PROTO_BSDSOCKET_H
#include <windows.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
#endif
#define RECVCALLCONV PASCAL
#else
dnl type qualifier of second argument in SEND_QUAL_ARG2.
AC_DEFUN([CURL_CHECK_FUNC_SEND], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
AC_CHECK_HEADERS(sys/types.h sys/socket.h)
#
#include <windows.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
#endif
#else
#ifdef HAVE_PROTO_BSDSOCKET_H
#include <windows.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
#endif
#define SENDCALLCONV PASCAL
#else
#include <windows.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
#endif
#else
#ifdef HAVE_PROTO_BSDSOCKET_H
dnl Check for timeval struct
AC_DEFUN([CURL_CHECK_STRUCT_TIMEVAL], [
- AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
AC_CHECK_HEADERS(sys/types.h sys/time.h sys/socket.h)
AC_CACHE_CHECK([for struct timeval], [curl_cv_struct_timeval], [
#include <windows.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
#endif
#endif
#ifdef HAVE_SYS_TYPES_H
#include <windows.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
#endif
#else
#ifdef HAVE_SYS_TYPES_H
#include <windows.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
#endif
#else
#ifdef HAVE_SYS_TYPES_H
#include <windows.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
#endif
#endif
#ifdef HAVE_SYS_TYPES_H
#include <windows.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
#endif
#define SELECTCALLCONV PASCAL
#endif
dnl **********************************************************************
dnl **********************************************************************
-dnl Make sure that our checks for headers windows.h winsock.h winsock2.h
+dnl Make sure that our checks for headers windows.h winsock2.h
dnl and ws2tcpip.h take precedence over any other further checks which
dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for
dnl this specific header files. And do them before its results are used.
CURL_CHECK_NATIVE_WINDOWS
case X-"$curl_cv_native_windows" in
X-yes)
- CURL_CHECK_HEADER_WINSOCK
CURL_CHECK_HEADER_WINSOCK2
CURL_CHECK_HEADER_WS2TCPIP
CURL_CHECK_HEADER_WINCRYPT
CURL_CHECK_HEADER_WINBER
;;
*)
- curl_cv_header_winsock_h="no"
curl_cv_header_winsock2_h="no"
curl_cv_header_ws2tcpip_h="no"
curl_cv_header_wincrypt_h="no"
then
dnl This is for winsock systems
if test "$curl_cv_header_windows_h" = "yes"; then
- if test "$curl_cv_header_winsock_h" = "yes"; then
- case $host in
- *-*-mingw32ce*)
- winsock_LIB="-lwinsock"
- ;;
- *)
- winsock_LIB="-lwsock32"
- ;;
- esac
- fi
if test "$curl_cv_header_winsock2_h" = "yes"; then
winsock_LIB="-lws2_32"
fi
#include <windows.h>
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
-#else
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h>
-#endif
#endif
#endif
]],[[
dnl CURL_INCLUDES_WINSOCK2
dnl -------------------------------------------------
dnl Set up variable with list of headers that must be
-dnl included when winsock(2).h is to be included.
+dnl included when winsock2.h is to be included.
AC_DEFUN([CURL_INCLUDES_WINSOCK2], [
curl_includes_winsock2="\
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
-# else
-# ifdef HAVE_WINSOCK_H
-# include <winsock.h>
-# endif
# endif
#endif
/* includes end */"
CURL_CHECK_HEADER_WINDOWS
- CURL_CHECK_HEADER_WINSOCK
CURL_CHECK_HEADER_WINSOCK2
])