X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fst_mtim.m4;h=ec58bef31b2d0d5964def47cc1730985aa1c414b;hb=c967cf357cc6abb8f0aa2a269a1e4584f2637d3b;hp=2de9649cc5ff19cf8c9ac8d840712dce936f8390;hpb=359ae58ea20486d18104a0945a02f1ffde8f173a;p=gnulib.git diff --git a/m4/st_mtim.m4 b/m4/st_mtim.m4 index 2de9649cc..ec58bef31 100644 --- a/m4/st_mtim.m4 +++ b/m4/st_mtim.m4 @@ -1,14 +1,32 @@ -#serial 1 +#serial 4 dnl From Paul Eggert. -# Define HAVE_ST_MTIM if struct stat has an st_mtim member. +# Define ST_MTIM_NSEC to be the nanoseconds member of struct stat's st_mtim, +# if it exists. -AC_DEFUN(AC_STRUCT_ST_MTIM, - [AC_CACHE_CHECK([for st_mtim in struct stat], ac_cv_struct_st_mtim, - [AC_TRY_COMPILE([#include -#include ], [struct stat s; s.st_mtim;], - ac_cv_struct_st_mtim=yes, ac_cv_struct_st_mtim=no)]) - if test $ac_cv_struct_st_mtim = yes; then - AC_DEFINE(HAVE_ST_MTIM) - fi]) +AC_DEFUN(AC_STRUCT_ST_MTIM_NSEC, + [AC_CACHE_CHECK([for nanoseconds member of struct stat.st_mtim], + ac_cv_struct_st_mtim_nsec, + [ac_save_CPPFLAGS="$CPPFLAGS" + ac_cv_struct_st_mtim_nsec=no + # tv_nsec -- the usual case + # _tv_nsec -- Solaris 2.6, if + # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1 + # && !defined __EXTENSIONS__) + # st__tim.tv_nsec -- UnixWare 2.1.2 + for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do + CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val" + AC_TRY_COMPILE([#include +#include ], [struct stat s; s.st_mtim.ST_MTIM_NSEC;], + [ac_cv_struct_st_mtim_nsec=$ac_val; break]) + done + CPPFLAGS="$ac_save_CPPFLAGS"]) + + if test $ac_cv_struct_st_mtim_nsec != no; then + AC_DEFINE_UNQUOTED(ST_MTIM_NSEC, $ac_cv_struct_st_mtim_nsec, + [Define to be the nanoseconds member of struct stat's st_mtim, + if it exists.]) + fi + ] +)