From 02d31bef501f42e9c3fcea1203138b102a28088b Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Fri, 13 Oct 2006 01:35:14 +0000 Subject: [PATCH] Check for struct timeval at configuration time --- acinclude.m4 | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 1 + 2 files changed, 60 insertions(+) diff --git a/acinclude.m4 b/acinclude.m4 index 267d28d..9a28404 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -954,6 +954,65 @@ AC_DEFUN([CURL_CHECK_MSG_NOSIGNAL], [ ]) # AC_DEFUN +dnl CURL_CHECK_STRUCT_TIMEVAL +dnl ------------------------------------------------- +dnl Check for timeval struct + +AC_DEFUN([CURL_CHECK_STRUCT_TIMEVAL], [ + AC_REQUIRE([AC_HEADER_TIME])dnl + AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl + AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl + AC_CHECK_HEADERS(sys/types.h sys/time.h time.h) + AC_CACHE_CHECK([for struct timeval], [ac_cv_struct_timeval], [ + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([ +#undef inline +#ifdef HAVE_WINDOWS_H +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include +#ifdef HAVE_WINSOCK2_H +#include +#else +#ifdef HAVE_WINSOCK_H +#include +#endif +#endif +#endif +#ifdef HAVE_SYS_TYPES_H +#include +#endif +#ifdef HAVE_SYS_TIME_H +#include +#ifdef TIME_WITH_SYS_TIME +#include +#endif +#else +#ifdef HAVE_TIME_H +#include +#endif +#endif + ],[ + struct timeval ts; + ts.tv_sec = 0; + ts.tv_usec = 0; + ]) + ],[ + ac_cv_struct_timeval="yes" + ],[ + ac_cv_struct_timeval="no" + ]) + ]) + case "$ac_cv_struct_timeval" in + yes) + AC_DEFINE_UNQUOTED(HAVE_STRUCT_TIMEVAL, 1, + [Define to 1 if you have the timeval struct.]) + ;; + esac +]) # AC_DEFUN + + dnl CURL_CHECK_NONBLOCKING_SOCKET dnl ------------------------------------------------- dnl Check for how to set a socket to non-blocking state. There seems to exist diff --git a/configure.ac b/configure.ac index 5f46549..79292ce 100644 --- a/configure.ac +++ b/configure.ac @@ -265,6 +265,7 @@ dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T AC_HEADER_TIME +CURL_CHECK_STRUCT_TIMEVAL AC_CHECK_SIZEOF(size_t) AC_CHECK_SIZEOF(long)