bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

add support for nanosecond timestamps on *BSD systems.


From: J.T. Conklin
Subject: add support for nanosecond timestamps on *BSD systems.
Date: 10 Oct 2000 13:00:19 -0700
User-agent: Gnus/5.070095 (Pterodactyl Gnus v0.95) XEmacs/20.4 (Emerald)

The enclosed patch adds support for nanosecond timestamps on *BSD
systems.  

Since *BSD uses st_mtimespec and Solaris uses st_mtim, this required
AC_STRUCT_ST_MTIM_NSEC to pass the toplevel field name instead of just 
tv_nsec (or equiv).

        --jtc

2000-10-10  J.T. Conklin  <address@hidden>

        * acinclude.m4 (AC_STRUCT_ST_MTIM_NSEC): Add support for *BSD's
        st_mtimespec field.
        * filedef.h (FILE_TIMESTAMP_FROM_S_AND_NS): Likewise.

Index: acinclude.m4
===================================================================
RCS file: /usr/rback/release/tools-src/gnu/make/acinclude.m4,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 acinclude.m4
--- acinclude.m4        2000/04/19 22:12:22     1.1.1.3
+++ acinclude.m4        2000/10/10 18:55:20
@@ -250,19 +250,20 @@
 dnl From Paul Eggert <address@hidden>
 
 AC_DEFUN(AC_STRUCT_ST_MTIM_NSEC,
- [AC_CACHE_CHECK([for nanoseconds member of struct stat.st_mtim],
+ [AC_CACHE_CHECK([for nanoseconds member of struct stat],
    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
+    # 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__tim.tv_nsec -- UnixWare 2.1.2
-    for ac_val in tv_nsec _tv_nsec st__tim.tv_nsec; do
+    # st_mtim.st__tim.tv_nsec   -- UnixWare 2.1.2
+    # st_mtimespec.tv_nsec     -- 4.4BSD, FreeBSD, NetBSD, OpenBSD, etc.
+    for ac_val in st_mtim.tv_nsec st_mtim._tv_nsec st_mtim.st__tim.tv_nsec 
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.ST_MTIM_NSEC;],
+#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"])
Index: filedef.h
===================================================================
RCS file: /usr/rback/release/tools-src/gnu/make/filedef.h,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 filedef.h
--- filedef.h   2000/04/19 22:12:26     1.1.1.3
+++ filedef.h   2000/10/10 19:27:42
@@ -120,7 +120,7 @@
 #ifdef ST_MTIM_NSEC
 # define FILE_TIMESTAMP_STAT_MODTIME(st) \
     FILE_TIMESTAMP_FROM_S_AND_NS ((st).st_mtime, \
-                                  (st).st_mtim.ST_MTIM_NSEC)
+                                  (st).ST_MTIM_NSEC)
 # define FILE_TIMESTAMPS_PER_S \
     MIN ((FILE_TIMESTAMP) 1000000000, \
          (INTEGER_TYPE_MAXIMUM (FILE_TIMESTAMP) \

-- 
J.T. Conklin
RedBack Networks



reply via email to

[Prev in Thread] Current Thread [Next in Thread]