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>
This commit is contained in:
Reuben Hawkins 2015-01-08 12:00:55 -08:00 коммит произвёл Junio C Hamano
Родитель 3d2c1bf2d4
Коммит 8bd2c972b1
1 изменённых файлов: 13 добавлений и 0 удалений

Просмотреть файл

@ -754,6 +754,19 @@ AC_CHECK_TYPES([struct itimerval],
[#include <sys/time.h>]) [#include <sys/time.h>])
GIT_CONF_SUBST([NO_STRUCT_ITIMERVAL]) GIT_CONF_SUBST([NO_STRUCT_ITIMERVAL])
# #
# Define USE_ST_TIMESPEC=YesPlease when stat.st_mtimespec.tv_nsec exists.
# Define NO_NSEC=YesPlease when neither stat.st_mtim.tv_nsec nor
# stat.st_mtimespec.tv_nsec exists.
AC_CHECK_MEMBER([struct stat.st_mtimespec.tv_nsec])
AC_CHECK_MEMBER([struct stat.st_mtim.tv_nsec])
if test x$ac_cv_member_struct_stat_st_mtimespec_tv_nsec = xyes; then
USE_ST_TIMESPEC=YesPlease
GIT_CONF_SUBST([USE_ST_TIMESPEC])
elif test x$ac_cv_member_struct_stat_st_mtim_tv_nsec != xyes; then
NO_NSEC=YesPlease
GIT_CONF_SUBST([NO_NSEC])
fi
#
# Define NO_D_INO_IN_DIRENT if you don't have d_ino in your struct dirent. # Define NO_D_INO_IN_DIRENT if you don't have d_ino in your struct dirent.
AC_CHECK_MEMBER(struct dirent.d_ino, AC_CHECK_MEMBER(struct dirent.d_ino,
[NO_D_INO_IN_DIRENT=], [NO_D_INO_IN_DIRENT=],