*** empty log message ***
[coreutils.git] / m4 / utimbuf.m4
blob7af3d1470bf86c8dfaa517de4eb453ffd7789a42
1 #serial 1
3 dnl From Jim Meyering
5 dnl Define HAVE_STRUCT_UTIMBUF if `struct utimbuf' is declared --
6 dnl usually in <utime.h>.
7 dnl Some systems have utime.h but don't declare the struct anywhere.
9 AC_DEFUN(jm_STRUCT_UTIMBUF,
11   AC_CHECK_HEADERS(utime.h)
12   AC_REQUIRE([AC_HEADER_TIME])
13   AC_CACHE_CHECK([for struct utimbuf], fu_cv_sys_struct_utimbuf,
14     [AC_TRY_COMPILE(
15       [
16 #ifdef TIME_WITH_SYS_TIME
17 # include <sys/time.h>
18 # include <time.h>
19 #else
20 # ifdef HAVE_SYS_TIME_H
21 #  include <sys/time.h>
22 # else
23 #  include <time.h>
24 # endif
25 #endif
26 #ifdef HAVE_UTIME_H
27 # include <utime.h>
28 #endif
29       ],
30       [static struct utimbuf x; x.actime = x.modtime;],
31       fu_cv_sys_struct_utimbuf=yes,
32       fu_cv_sys_struct_utimbuf=no)
33     ])
35   if test $fu_cv_sys_struct_utimbuf = yes; then
36     if test x = y; then
37       # This code is deliberately never run via ./configure.
38       # FIXME: this is a hack to make autoheader put the corresponding
39       # HAVE_* undef for this symbol in config.h.in.  This saves me the
40       # trouble of having to maintain the #undef in acconfig.h manually.
41       AC_CHECK_FUNCS(STRUCT_UTIMBUF)
42     fi
43     # Defining it this way (rather than via AC_DEFINE) short-circuits the
44     # autoheader check -- autoheader doesn't know it's already been taken
45     # care of by the hack above.
46     ac_kludge=HAVE_STRUCT_UTIMBUF
47     AC_DEFINE_UNQUOTED($ac_kludge)
48   fi