configure.ac: check 'tv_nsec' field in 'struct stat'

Detect 'tv_nsec' field in 'struct stat' and set Makefile variable NO_NSEC appropriately. A side-effect of the above detection is that we also determine whether 'stat.st_mtimespec' is available, so, as a bonus, set the Makefile variable USE_ST_TIMESPEC, as well. Signed-off-by: Reuben Hawkins <reubenhwk@gmail.com> Helped-by: Eric Sunshine <sunshine@sunshineco.com> Reviewed-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Reuben Hawkins committed Jan 8, 2015 at 12:00 UTC 8bd2c972b1e2343620cad5b0f56de0f2524b7564
1 file changed +13
configure.ac
+13
@@ -754,6 +754,19 @@ AC_CHECK_TYPES([struct itimerval],
754 [#include <sys/time.h>])
755 GIT_CONF_SUBST([NO_STRUCT_ITIMERVAL])
756 #
757 +# Define USE_ST_TIMESPEC=YesPlease when stat.st_mtimespec.tv_nsec exists.
758 +# Define NO_NSEC=YesPlease when neither stat.st_mtim.tv_nsec nor
759 +# stat.st_mtimespec.tv_nsec exists.
760 +AC_CHECK_MEMBER([struct stat.st_mtimespec.tv_nsec])
761 +AC_CHECK_MEMBER([struct stat.st_mtim.tv_nsec])
762 +if test x$ac_cv_member_struct_stat_st_mtimespec_tv_nsec = xyes; then
763 + USE_ST_TIMESPEC=YesPlease
764 + GIT_CONF_SUBST([USE_ST_TIMESPEC])
765 +elif test x$ac_cv_member_struct_stat_st_mtim_tv_nsec != xyes; then
766 + NO_NSEC=YesPlease
767 + GIT_CONF_SUBST([NO_NSEC])
768 +fi
769 +#
770 # Define NO_D_INO_IN_DIRENT if you don't have d_ino in your struct dirent.
771 AC_CHECK_MEMBER(struct dirent.d_ino,
772 [NO_D_INO_IN_DIRENT=],