diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2007-01-18 08:33:34 +0000 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2007-01-18 08:33:34 +0000 |
commit | 5661ab9d49512b4cf3c19caa11bb581d8ce561ba (patch) | |
tree | 9c6c5d382b0d1ad236805f2012ab169b237f2595 /modules | |
parent | 0a2f71be9fe8da7b21600957e5e56346d3b027a6 (diff) | |
download | gnulib-5661ab9d49512b4cf3c19caa11bb581d8ce561ba.tar.gz |
* MODULES.html.sh (Support for systems lacking POSIX:2001): New
module sys_time.
* lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
assume timespec.h defines struct timeval.
* lib/settime.c: Likewise.
* lib/utimens.c: Likewise.
* lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
since we now assume the gettimeofday module.
* lib/tempname.c (__gen_tempname): Likewise.
* lib/gettimeofday.h: Remove.
* lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
Include <time.h>, for 'time()'.
(localtime_buffer_addr): Also use this workaround if
TZSET_CLOBBERS_LOCALTIME. Set to a dummy static variable by default,
to simplify the uses. All uses changed.
(localtime, gmtime, tzset, gettimeofday): Reformat slightly so
that #undef is inside {}, and 'const' follows type name consistently.
(tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
(gettimeofday): Do not use the maximum possible value for
tv->tv_usec, since that might break usages other than ls.c.
Instead, we'll leave ls.c alone. This undoes today's patch
by Bruno. Add a compile-time warning for 1s-clock resolution;
we've never observed the problem but might as well keep the
canary.
* lib/nanosleep.c: Include timespec.h first, for interface check.
* lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
now assume the sys_time module.
* lib/tempname.c: Likewise.
* lib/timespec.h: Likewise.
* lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
needed.
* lib/strftime.c: Likewise.
* lib/timespec.h: Likewise.
* lib/posixtm.c: Include posixtm.h first, for interface check.
Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
* lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
* lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
* lib/sys_time_.h: New file.
* lib/timespec.h (struct timespec): Use long int, not long.
* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
(gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
Remove obsolescent call to AC_HEADER_TIME.
* m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
* m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
* m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
Likewise.
* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
* m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
into the sys_time module. Check for gettimeofday just once.
Prefix our variables with gl_, not with ac_ or jm_. Tighten test
for gettimeofday signature to just check the signature. Merely
compile it, since linking doesn't test signature. Improve test for
whether gettimeofday.o is actually needed.
(gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
AC_FUNC_GETTIMEOFDAY_CLOBBER. All uses changed. Use
AC_RUN_IFELSE rather than AC_TRY_RUN. If clobbering, set
and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
(gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
job. Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
* m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
than worrying about sys/time.h.
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
Don't bother worrying about TIME_WITH_SYS_TIME.
* m4/stat-time.m4 (gl_STAT_TIME): Likewise.
* m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
* m4/sys_time_h.m4: New file.
* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
Don't include sys/time.h. Return from main rather than exiting.
Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
all uses changed.
* modules/gethrxtime (Depends-on): Add sys_time.
* modules/gettime (Depends-on): Likewise.
* modules/gettimeofday (Depends-on): Likewise.
* modules/nanosleep (Depends-on): Likewise.
* modules/settime (Depends-on): Likewise.
* modules/tempname (Depends-on): Likewise.
* modules/utimens (Depends-on): Likewise.
* modules/gettimeofday (Files): Remove lib/gettimeofday.h.
(Include:) Change back to <sys/time.h>.
(Maintainer:) Add self.
* modules/sys_time: New file.
* modules/tempname (Depends-on): Add gettimeofday.
* tests/test-gettimeofday.c: Include <sys/time.h>
rather than gettimeofday.h.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/gethrxtime | 3 | ||||
-rw-r--r-- | modules/gettime | 1 | ||||
-rw-r--r-- | modules/gettimeofday | 7 | ||||
-rw-r--r-- | modules/nanosleep | 5 | ||||
-rw-r--r-- | modules/settime | 1 | ||||
-rw-r--r-- | modules/sys_time | 40 | ||||
-rw-r--r-- | modules/tempname | 2 | ||||
-rw-r--r-- | modules/utimens | 1 |
8 files changed, 53 insertions, 7 deletions
diff --git a/modules/gethrxtime b/modules/gethrxtime index 2eea8b4002..3de2ee4956 100644 --- a/modules/gethrxtime +++ b/modules/gethrxtime @@ -10,8 +10,9 @@ m4/longlong.m4 Depends-on: clock-time -gettime extensions +gettime +sys_time configure.ac: gl_GETHRXTIME diff --git a/modules/gettime b/modules/gettime index f787a78a3d..2e2c52e342 100644 --- a/modules/gettime +++ b/modules/gettime @@ -9,6 +9,7 @@ Depends-on: clock-time gettime gettimeofday +sys_time timespec extensions diff --git a/modules/gettimeofday b/modules/gettimeofday index 9b9b35a47c..d9821d4b17 100644 --- a/modules/gettimeofday +++ b/modules/gettimeofday @@ -2,11 +2,11 @@ Description: gettimeofday() function: return current time. Files: -lib/gettimeofday.h lib/gettimeofday.c m4/gettimeofday.m4 Depends-on: +sys_time configure.ac: gl_FUNC_GETTIMEOFDAY @@ -14,11 +14,10 @@ gl_FUNC_GETTIMEOFDAY Makefile.am: Include: -"gettimeofday.h" +<sys/time.h> License: GPL Maintainer: -Jim Meyering - +Paul Eggert, Jim Meyering diff --git a/modules/nanosleep b/modules/nanosleep index 64cc02e474..02398d4079 100644 --- a/modules/nanosleep +++ b/modules/nanosleep @@ -7,9 +7,10 @@ m4/nanosleep.m4 Depends-on: clock-time -timespec -stdbool extensions +stdbool +sys_time +timespec configure.ac: gl_FUNC_NANOSLEEP diff --git a/modules/settime b/modules/settime index 6f33653f96..9ca84a027e 100644 --- a/modules/settime +++ b/modules/settime @@ -8,6 +8,7 @@ m4/settime.m4 Depends-on: clock-time extensions +sys_time timespec configure.ac: diff --git a/modules/sys_time b/modules/sys_time new file mode 100644 index 0000000000..16a227eb2b --- /dev/null +++ b/modules/sys_time @@ -0,0 +1,40 @@ +Description: +A <sys/time.h> that conforms better to POSIX. + +Files: +lib/sys_time_.h +m4/sys_time_h.m4 + +Depends-on: +absolute-header + +configure.ac: +gl_HEADER_SYS_TIME_H + +Makefile.am: +BUILT_SOURCES += sys/time.h + +# We need the following in order to create <sys/time.h> when the system +# doesn't have one that works with the given compiler. +sys/time.h: sys_time_.h + test -d sys || mkdir sys + rm -f $@-t $@ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \ + -e 's|@''ABSOLUTE_SYS_TIME_H''@|$(ABSOLUTE_SYS_TIME_H)|g' \ + -e 's/@''GETTIMEOFDAY_CLOBBERS_LOCALTIME''@/$(GETTIMEOFDAY_CLOBBERS_LOCALTIME)/g' \ + -e 's/@''HAVE_GETTIMEOFDAY_POSIX_SIGNATURE''@/$(HAVE_GETTIMEOFDAY_POSIX_SIGNATURE)/g' \ + -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \ + < $(srcdir)/sys_time_.h; \ + } > $@-t + mv $@-t $@ +MOSTLYCLEANFILES += sys/time.h sys/time.h-t + +Include: +#include <sys/time.h> + +License: +LGPL + +Maintainer: +all diff --git a/modules/tempname b/modules/tempname index 9b619a31c0..af689de6f9 100644 --- a/modules/tempname +++ b/modules/tempname @@ -8,8 +8,10 @@ m4/tempname.m4 Depends-on: extensions +gettimeofday stdint sys_stat +sys_time configure.ac: gl_FUNC_GEN_TEMPNAME diff --git a/modules/utimens b/modules/utimens index 6cc5e31223..c341f65770 100644 --- a/modules/utimens +++ b/modules/utimens @@ -9,6 +9,7 @@ m4/utimens.m4 m4/utimes.m4 Depends-on: +sys_time timespec configure.ac: |