sys_socket: Add support for OpenVMS.
[gnulib.git] / m4 / utime_h.m4
blob550f7642c77e4d20cdc5da243b434b02d82d7182
1 # utime_h.m4 serial 1
2 dnl Copyright (C) 2017 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
7 dnl From Bruno Haible.
9 AC_DEFUN([gl_UTIME_H],
11   AC_REQUIRE([AC_CANONICAL_HOST])
12   AC_REQUIRE([gl_UTIME_H_DEFAULTS])
13   AC_CHECK_HEADERS_ONCE([utime.h])
14   gl_CHECK_NEXT_HEADERS([utime.h])
16   if test $ac_cv_header_utime_h = yes; then
17     HAVE_UTIME_H=1
18   else
19     HAVE_UTIME_H=0
20   fi
21   AC_SUBST([HAVE_UTIME_H])
23   UTIME_H=''
24   if test $ac_cv_header_utime_h != yes; then
25     dnl Provide a substitute <utime.h> file.
26     UTIME_H=utime.h
27   else
28     case "$host_os" in
29       mingw*) dnl Need special handling of 'struct utimbuf'.
30         UTIME_H=utime.h
31         ;;
32     esac
33   fi
34   AC_SUBST([UTIME_H])
35   AM_CONDITIONAL([GL_GENERATE_UTIME_H], [test -n "$UTIME_H"])
37   dnl Check for declarations of anything we want to poison if the
38   dnl corresponding gnulib module is not in use.
39   gl_WARN_ON_USE_PREPARE([[#include <utime.h>
40     ]],
41     [utime])
44 AC_DEFUN([gl_UTIME_MODULE_INDICATOR],
46   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
47   AC_REQUIRE([gl_UTIME_H_DEFAULTS])
48   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
49   dnl Define it also as a C macro, for the benefit of the unit tests.
50   gl_MODULE_INDICATOR_FOR_TESTS([$1])
53 AC_DEFUN([gl_UTIME_H_DEFAULTS],
55   GNULIB_UTIME=0;            AC_SUBST([GNULIB_UTIME])
56   dnl Assume POSIX behavior unless another module says otherwise.
57   HAVE_UTIME=1;              AC_SUBST([HAVE_UTIME])
58   REPLACE_UTIME=0;           AC_SUBST([REPLACE_UTIME])