New upstream version 1.9
[debian/gzip] / m4 / utime_h.m4
1 # utime_h.m4 serial 1
2 dnl Copyright (C) 2017-2018 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.
6
7 dnl From Bruno Haible.
8
9 AC_DEFUN([gl_UTIME_H],
10 [
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])
15
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])
22
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"])
36
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])
42 ])
43
44 AC_DEFUN([gl_UTIME_MODULE_INDICATOR],
45 [
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])
51 ])
52
53 AC_DEFUN([gl_UTIME_H_DEFAULTS],
54 [
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])
59 ])