libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit dcd8ea98694d3087d1af9f7a11570b73c7d1c249
parent 779bbfb525862bbe3a966a8bcfbfa9c560a2c270
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Tue, 14 Mar 2023 17:36:40 +0300

mhd_check_func_gettimeofday.m4: added new autoconf macro

Diffstat:
Mconfigure.ac | 16+---------------
Am4/mhd_check_func_gettimeofday.m4 | 53+++++++++++++++++++++++++++++++++++++++++++++++++++++
Mm4/mhd_shutdown_socket_trigger.m4 | 19++-----------------
3 files changed, 56 insertions(+), 32 deletions(-)

diff --git a/configure.ac b/configure.ac @@ -2578,21 +2578,7 @@ choke me now ] ) -MHD_CHECK_FUNC([[gettimeofday]], - [[ -#ifdef HAVE_SYS_TIME_H -#include <sys/time.h> -#endif /* HAVE_SYS_TIME_H */ -#ifdef HAVE_TIME_H -#include <time.h> -#endif /* HAVE_TIME_H */ - ]], - [[ - struct timeval tv; - i][f (0 != gettimeofday (&tv, (void*) 0)) - return 1; - ]] -) +MHD_CHECK_FUNC_GETTIMEOFDAY # IPv6 AC_CACHE_CHECK([for IPv6],[mhd_cv_have_inet6], diff --git a/m4/mhd_check_func_gettimeofday.m4 b/m4/mhd_check_func_gettimeofday.m4 @@ -0,0 +1,53 @@ +# SYNOPSIS +# +# MHD_CHECK_FUNC_GETTIMEOFDAY([ACTION-IF-AVAILABLE], +# [ACTION-IF-NOT-AVAILABLE]) +# +# DESCRIPTION +# +# This macro checks for presence of gettimeofday() function. +# If function is available macro HAVE_GETTIMEOFDAY is defined +# automatically. +# +# Example usage: +# +# MHD_CHECK_FUNC_GETTIMEOFDAY([var_use_gettimeofday='yes']) +# +# The cache variable used in check so if any test will not work +# correctly on some platform, user may simply fix it by giving cache +# variable in configure parameters, for example: +# +# ./configure mhd_cv_func_memmem_have=no +# +# This simplifies building from source on exotic platforms as patching +# of configure.ac is not required to change results of tests. +# +# LICENSE +# +# Copyright (c) 2019-2023 Karlson2k (Evgeny Grin) <k2k@narod.ru> +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 1 + +AC_DEFUN([MHD_CHECK_FUNC_GETTIMEOFDAY],[dnl +AC_CHECK_HEADERS([sys/time.h time.h])dnl +MHD_CHECK_FUNC([[gettimeofday]], + [[ +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#endif /* HAVE_SYS_TIME_H */ +#ifdef HAVE_TIME_H +#include <time.h> +#endif /* HAVE_TIME_H */ + ]], + [[ + struct timeval tv; + if (0 != gettimeofday (&tv, (void*) 0)) + return 1; + ]],[$1],[$2] +) +])dnl AC_DEFUN MHD_CHECK_FUNC_GETTIMEOFDAY diff --git a/m4/mhd_shutdown_socket_trigger.m4 b/m4/mhd_shutdown_socket_trigger.m4 @@ -18,29 +18,14 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 4 +#serial 5 AC_DEFUN([MHD_CHECK_SOCKET_SHUTDOWN_TRIGGER],[dnl AC_PREREQ([2.64])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AX_PTHREAD])dnl - AC_CHECK_HEADERS([sys/time.h time.h])dnl - MHD_CHECK_FUNC([[gettimeofday]], - [[ -#ifdef HAVE_SYS_TIME_H -#include <sys/time.h> -#endif /* HAVE_SYS_TIME_H */ -#ifdef HAVE_TIME_H -#include <time.h> -#endif /* HAVE_TIME_H */ - ]], - [[ - struct timeval tv; - if (0 != gettimeofday (&tv, (void*) 0)) - return 1; - ]] - ) + AC_REQUIRE([MHD_CHECK_FUNC_GETTIMEOFDAY])dnl MHD_CHECK_FUNC([[usleep]], [[#include <unistd.h>]], [[usleep(100000);]]) MHD_CHECK_FUNC([[nanosleep]], [[#include <time.h>]], [[struct timespec ts2, ts1 = {0, 0}; nanosleep(&ts1, &ts2);]]) AC_CHECK_HEADERS([string.h sys/types.h sys/socket.h netinet/in.h time.h sys/select.h netinet/tcp.h],[],[], [AC_INCLUDES_DEFAULT])