Mercurial > hg > octave-jordi > gnulib-hg
annotate m4/stat-time.m4 @ 6471:54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
porting problem reported by Georg Schwarz in
<http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
* m4/stat-time.m4 (gl_STAT_TIME): Add check for
TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Wed, 07 Dec 2005 18:18:33 +0000 |
parents | d81a8251a9b0 |
children | be9e01d008cb |
rev | line source |
---|---|
6237
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
1 # Checks for stat-related time functions. |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
2 |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
3 # Copyright (C) 1998, 1999, 2001, 2003, 2005 Free Software Foundation, Inc. |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
4 # This file is free software; the Free Software Foundation |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
5 # gives unlimited permission to copy and/or distribute it, |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
6 # with or without modifications, as long as this notice is preserved. |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
7 |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
8 dnl From Paul Eggert. |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
9 |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
10 # st_atim.tv_nsec - Linux, Solaris |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
11 # st_atimespec.tv_nsec - FreeBSD, if ! defined _POSIX_SOURCE |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
12 # st_atimensec - FreeBSD, if defined _POSIX_SOURCE |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
13 # st_atim.st__tim.tv_nsec - UnixWare (at least 2.1.2 through 7.1) |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
14 # st_spare1 - Cygwin? |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
15 |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
16 AC_DEFUN([gl_STAT_TIME], |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
17 [ |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
18 AC_LIBSOURCES([stat-time.h]) |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
19 |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
20 AC_REQUIRE([AC_C_INLINE]) |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
21 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
22 |
6471
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
23 AC_CHECK_MEMBERS([struct stat.st_atim.tv_nsec], |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
24 [AC_CACHE_CHECK([whether struct stat.st_atim is of type struct timespec], |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
25 [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec], |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
26 [AC_TRY_COMPILE( |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
27 [ |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
28 #include <sys/types.h> |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
29 #if TIME_WITH_SYS_TIME |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
30 # include <sys/time.h> |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
31 # include <time.h> |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
32 #else |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
33 # if HAVE_SYS_TIME_H |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
34 # include <sys/time.h> |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
35 # else |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
36 # include <time.h> |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
37 # endif |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
38 #endif |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
39 #include <sys/stat.h> |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
40 struct timespec ts; |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
41 struct stat st; |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
42 ], |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
43 [ |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
44 st.st_atim = ts; |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
45 ], |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
46 [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes], |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
47 [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no])]) |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
48 if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
49 AC_DEFINE([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], 1, |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
50 [Define to 1 if the type of the st_atim member of a struct stat is |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
51 struct timespec.]) |
54a70822331f
* m4/stat-time.m4 (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
Paul Eggert <eggert@cs.ucla.edu>
parents:
6237
diff
changeset
|
52 fi], |
6237
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
53 [AC_CHECK_MEMBERS([struct stat.st_atimespec.tv_nsec], [], |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
54 [AC_CHECK_MEMBERS([struct stat.st_atimensec], [], |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
55 [AC_CHECK_MEMBERS([struct stat.st_atim.st__tim.tv_nsec], [], |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
56 [AC_CHECK_MEMBERS([struct stat.st_spare1], [], |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
57 [], |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
58 [#include <sys/types.h> |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
59 #include <sys/stat.h>])], |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
60 [#include <sys/types.h> |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
61 #include <sys/stat.h>])], |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
62 [#include <sys/types.h> |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
63 #include <sys/stat.h>])], |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
64 [#include <sys/types.h> |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
65 #include <sys/stat.h>])], |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
66 [#include <sys/types.h> |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
67 #include <sys/stat.h>]) |
d81a8251a9b0
* MODULES.html.sh (File system functions): Add stat-time.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff
changeset
|
68 ]) |