xref: /netbsd-src/external/gpl2/diffutils/dist/m4/st_mtim.m4 (revision 75f6d617e282811cb173c2ccfbf5df0dd71f7045)
1*75f6d617Schristos#serial 5
2*75f6d617Schristos
3*75f6d617Schristosdnl From Paul Eggert.
4*75f6d617Schristos
5*75f6d617Schristos# Define ST_MTIM_NSEC to be the nanoseconds member of struct stat's st_mtim,
6*75f6d617Schristos# if it exists.
7*75f6d617Schristos
8*75f6d617SchristosAC_DEFUN([AC_STRUCT_ST_MTIM_NSEC],
9*75f6d617Schristos [AC_CACHE_CHECK([for nanoseconds member of struct stat.st_mtim],
10*75f6d617Schristos   ac_cv_struct_st_mtim_nsec,
11*75f6d617Schristos   [ac_save_CPPFLAGS="$CPPFLAGS"
12*75f6d617Schristos    ac_cv_struct_st_mtim_nsec=no
13*75f6d617Schristos    # tv_nsec -- the usual case
14*75f6d617Schristos    # _tv_nsec -- Solaris 2.6, if
15*75f6d617Schristos    #	(defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1
16*75f6d617Schristos    #	 && !defined __EXTENSIONS__)
17*75f6d617Schristos    # st__tim.tv_nsec -- UnixWare 2.1.2
18*75f6d617Schristos    for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
19*75f6d617Schristos      CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val"
20*75f6d617Schristos      AC_TRY_COMPILE([#include <sys/types.h>
21*75f6d617Schristos#include <sys/stat.h>], [struct stat s; s.st_mtim.ST_MTIM_NSEC;],
22*75f6d617Schristos        [ac_cv_struct_st_mtim_nsec=$ac_val; break])
23*75f6d617Schristos    done
24*75f6d617Schristos    CPPFLAGS="$ac_save_CPPFLAGS"])
25*75f6d617Schristos
26*75f6d617Schristos  if test $ac_cv_struct_st_mtim_nsec != no; then
27*75f6d617Schristos    AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec,
28*75f6d617Schristos      [Define to be the nanoseconds member of struct stat's st_mtim,
29*75f6d617Schristos   if it exists.])
30*75f6d617Schristos  fi
31*75f6d617Schristos ]
32*75f6d617Schristos)
33