X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fst_mtim.m4;h=4d03c8e419eb5d23979ecaa03cfe5355d0502b85;hb=be1c8adeedf52b5ceee7091a43c1937ea2caaa7d;hp=6a4c5b4b43e347a5bff1c7f590c39ebb3db5af8b;hpb=9326feaa7779ea38fbce4af482aa6bcca3166116;p=gnulib.git diff --git a/m4/st_mtim.m4 b/m4/st_mtim.m4 index 6a4c5b4b4..4d03c8e41 100644 --- a/m4/st_mtim.m4 +++ b/m4/st_mtim.m4 @@ -1,29 +1,32 @@ -#serial 2 +#serial 6 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)]) +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 = yes; then - if test x = y; then - # This code is deliberately never run via ./configure. - # FIXME: this is a hack to make autoheader put the corresponding - # HAVE_* undef for this symbol in config.h.in. This saves me the - # trouble of having to add the #undef in acconfig.h manually. - AC_CHECK_FUNCS(ST_MTIM) - fi - # Defining it this way (rather than via AC_DEFINE) short-circuits the - # autoheader check -- autoheader doesn't know it's already been taken - # care of by the hack above. - ac_kludge=HAVE_ST_MTIM - AC_DEFINE_UNQUOTED($ac_kludge) + 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 ] )