summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2023-03-14 17:36:40 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2023-03-14 21:34:26 +0300
commitdcd8ea98694d3087d1af9f7a11570b73c7d1c249 (patch)
treea0c194bad0f4f22a0ad9f8f5f05b1dd62a00ba1b
parent779bbfb525862bbe3a966a8bcfbfa9c560a2c270 (diff)
mhd_check_func_gettimeofday.m4: added new autoconf macro
-rw-r--r--configure.ac16
-rw-r--r--m4/mhd_check_func_gettimeofday.m453
-rw-r--r--m4/mhd_shutdown_socket_trigger.m419
3 files changed, 56 insertions, 32 deletions
diff --git a/configure.ac b/configure.ac
index 6037e061..9396240e 100644
--- 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
new file mode 100644
index 00000000..8ef69ccb
--- /dev/null
+++ 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
index 33505d81..d33c4b18 100644
--- 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])