Mercurial > vim
diff src/configure.ac @ 25953:d7e1cf30728c v8.2.3510
patch 8.2.3510: changes are only detected with one second accuracy
Commit: https://github.com/vim/vim/commit/0a7984af5601323fae7b3398f05a48087db7b767
Author: Leah Neukirchen <leah@vuxu.org>
Date: Thu Oct 14 21:27:55 2021 +0100
patch 8.2.3510: changes are only detected with one second accuracy
Problem: Changes are only detected with one second accuracy.
Solution: Use the nanosecond time if possible. (Leah Neukirchen,
closes #8873, closes #8875)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 14 Oct 2021 22:30:04 +0200 |
parents | 076f9b8e9632 |
children | 13e09dc59f0f |
line wrap: on
line diff
--- a/src/configure.ac +++ b/src/configure.ac @@ -3843,6 +3843,31 @@ main() {struct stat st; exit(stat("conf if test "x$vim_cv_stat_ignores_slash" = "xyes" ; then AC_DEFINE(STAT_IGNORES_SLASH) fi + +dnl nanoseconds field of struct stat +AC_CACHE_CHECK([for nanoseconds field of struct stat], + ac_cv_struct_st_mtim_nsec, + [ac_save_CPPFLAGS="$CPPFLAGS" + ac_cv_struct_st_mtim_nsec=no + # st_mtim.tv_nsec -- the usual case + # st_mtim._tv_nsec -- Solaris 2.6, if + # (defined _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED == 1 + # && !defined __EXTENSIONS__) + # st_mtim.st__tim.tv_nsec -- UnixWare 2.1.2 + # st_mtime_n -- AIX 5.2 and above + # st_mtimespec.tv_nsec -- Darwin (Mac OSX) + for ac_val in st_mtim.tv_nsec st_mtim._tv_nsec st_mtim.st__tim.tv_nsec st_mtime_n st_mtimespec.tv_nsec; do + CPPFLAGS="$ac_save_CPPFLAGS -DST_MTIM_NSEC=$ac_val" + AC_TRY_COMPILE([#include <sys/types.h> +#include <sys/stat.h>], [struct stat s; s.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 if struct stat contains a nanoseconds field]) +fi dnl Link with iconv for charset translation, if not found without library. dnl check for iconv() requires including iconv.h