git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] configure.ac: check tv_nsec field in struct stat
@ 2014-12-21 18:53 Reuben Hawkins
  2014-12-21 18:53 ` [PATCH 2/3] configure.ac,trace.c: check for CLOCK_MONOTONIC Reuben Hawkins
                   ` (2 more replies)
  0 siblings, 3 replies; 24+ messages in thread
From: Reuben Hawkins @ 2014-12-21 18:53 UTC (permalink / raw)
  To: git; +Cc: Reuben Hawkins

This check will automatically set the correct NO_NSEC setting.
---
 configure.ac | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/configure.ac b/configure.ac
index 6af9647..3cfdd51 100644
--- a/configure.ac
+++ b/configure.ac
@@ -754,6 +754,25 @@ AC_CHECK_TYPES([struct itimerval],
 [#include <sys/time.h>])
 GIT_CONF_SUBST([NO_STRUCT_ITIMERVAL])
 #
+# Define HAVE_ST_MTIM=No if you don't have struct stat.st_mtim.tv_nsec.
+AC_CHECK_MEMBER([struct stat.st_mtim.tv_nsec],
+[HAVE_ST_MTIM=Yes],
+[HAVE_ST_MTIM=No],
+[#include <sys/stat.h>])
+#
+# Define HAVE_ST_MTIMESPEC=No if you don't have struct stat.st_mtimespec.tv_nsec.
+AC_CHECK_MEMBER([struct stat.st_mtimespec.tv_nsec],
+[HAVE_ST_MTIMESPEC=Yes],
+[HAVE_ST_MTIMESPEC=No],
+[#include <sys/stat.h>])
+#
+# Define NO_NSEC if both HAVE_ST_MTIMESPEC and HAVE_ST_MTIM are set to No.
+if test '(' "$HAVE_ST_MTIM" = "No" ')' -a '(' "$HAVE_ST_MTIMESPEC" = "No" ')' ; 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.
 AC_CHECK_MEMBER(struct dirent.d_ino,
 [NO_D_INO_IN_DIRENT=],
-- 
2.2.0.GIT

^ permalink raw reply related	[flat|nested] 24+ messages in thread
* [PATCH 1/3] configure.ac: check 'tv_nsec' field in 'struct stat'
@ 2015-01-08 20:00 Reuben Hawkins
  2015-01-08 20:00 ` [PATCH 2/3] configure.ac: check for clock_gettime and CLOCK_MONOTONIC Reuben Hawkins
  0 siblings, 1 reply; 24+ messages in thread
From: Reuben Hawkins @ 2015-01-08 20:00 UTC (permalink / raw)
  To: git; +Cc: Reuben Hawkins

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>
---
 configure.ac | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/configure.ac b/configure.ac
index 6af9647..210eb4e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -754,6 +754,19 @@ AC_CHECK_TYPES([struct itimerval],
 [#include <sys/time.h>])
 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.
 AC_CHECK_MEMBER(struct dirent.d_ino,
 [NO_D_INO_IN_DIRENT=],
-- 
2.2.0.68.g8f72f0c.dirty

^ permalink raw reply related	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2015-01-09  5:36 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-21 18:53 [PATCH 1/3] configure.ac: check tv_nsec field in struct stat Reuben Hawkins
2014-12-21 18:53 ` [PATCH 2/3] configure.ac,trace.c: check for CLOCK_MONOTONIC Reuben Hawkins
2014-12-21 20:54   ` Eric Sunshine
2014-12-22  4:12   ` brian m. carlson
2014-12-22 12:36     ` Reuben Hawkins
2014-12-21 18:53 ` [PATCH 3/3] configure.ac,imap-send.c: check HMAC_CTX_cleanup Reuben Hawkins
2014-12-21 21:28   ` Eric Sunshine
2015-01-07 20:23     ` v2 patches for fixes on RHEL3 Reuben Hawkins
2015-01-07 20:23       ` [PATCH 1/3] configure.ac: check tv_nsec field in struct stat Reuben Hawkins
2015-01-07 21:19         ` Eric Sunshine
2015-01-07 21:33           ` Reuben Hawkins
2015-01-07 21:57             ` Eric Sunshine
2015-01-07 22:19           ` Reuben Hawkins
2015-01-08  5:41             ` Eric Sunshine
2015-01-07 20:23       ` [PATCH 2/3] configure.ac: check for clock_gettime and CLOCK_MONOTONIC Reuben Hawkins
2015-01-07 21:37         ` Eric Sunshine
2015-01-07 22:31           ` Reuben Hawkins
2015-01-08  5:54             ` Eric Sunshine
2015-01-07 20:23       ` [PATCH 3/3] configure.ac: check for HMAC_CTX_cleanup Reuben Hawkins
2015-01-07 21:46         ` Eric Sunshine
2014-12-21 20:20 ` [PATCH 1/3] configure.ac: check tv_nsec field in struct stat Eric Sunshine
2014-12-21 21:47   ` Eric Sunshine
  -- strict thread matches above, loose matches on Subject: below --
2015-01-08 20:00 [PATCH 1/3] configure.ac: check 'tv_nsec' field in 'struct stat' Reuben Hawkins
2015-01-08 20:00 ` [PATCH 2/3] configure.ac: check for clock_gettime and CLOCK_MONOTONIC Reuben Hawkins
2015-01-09  5:36   ` Eric Sunshine

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).