Improve port of struct timespec to MS-Windows.
lib/makefile.w32-in ($(BLD)/dtotimespec.$(O)): ($(BLD)/timespec-add.$(O)): ($(BLD)/timespec-sub.$(O)): Don't depend on $(EMACS_ROOT)/nt/inc/sys/time.h. lib/stat-time.h: lib/timespec.h: lib/utimens.h: Revert last change. src/makefile.w32-in (TIMESPEC_H): Remove nt/inc/sys/time.h. (SYSTIME_H): Add nt/inc/sys/time.h. src/systime.h [WINDOWSNT]: Include sys/time.h. src/s/ms-w32.h (struct timespec): Definition moved from nt/inc/sys/time.h. Suggested by Paul Eggert <eggert@cs.ucla.edu>. nt/inc/sys/time.h (struct timespec): Don't define it here, it is now defined in src/s/ms-w32.h. Fixes: debbugs:9000
This commit is contained in:
parent
bbf908bc69
commit
696056c280
11 changed files with 42 additions and 15 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2012-06-24 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* lib/makefile.w32-in ($(BLD)/dtotimespec.$(O)):
|
||||
($(BLD)/timespec-add.$(O)):
|
||||
($(BLD)/timespec-sub.$(O)): Don't depend on
|
||||
$(EMACS_ROOT)/nt/inc/sys/time.h.
|
||||
|
||||
* lib/stat-time.h:
|
||||
* lib/timespec.h:
|
||||
* lib/utimens.h: Revert last change.
|
||||
|
||||
2012-06-23 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Merge from gnulib.
|
||||
|
|
|
@ -77,7 +77,6 @@ $(BLD)/dtotimespec.$(O) : \
|
|||
$(SRC)/dtotimespec.c \
|
||||
$(SRC)/intprops.h \
|
||||
$(SRC)/timespec.h \
|
||||
$(EMACS_ROOT)/nt/inc/sys/time.h \
|
||||
$(EMACS_ROOT)/nt/inc/sys/stat.h \
|
||||
$(EMACS_ROOT)/src/s/ms-w32.h \
|
||||
$(EMACS_ROOT)/src/config.h
|
||||
|
@ -126,7 +125,6 @@ $(BLD)/timespec-add.$(O) : \
|
|||
$(SRC)/timespec-add.c \
|
||||
$(SRC)/intprops.h \
|
||||
$(SRC)/timespec.h \
|
||||
$(EMACS_ROOT)/nt/inc/sys/time.h \
|
||||
$(EMACS_ROOT)/nt/inc/sys/stat.h \
|
||||
$(EMACS_ROOT)/src/s/ms-w32.h \
|
||||
$(EMACS_ROOT)/src/config.h
|
||||
|
@ -135,7 +133,6 @@ $(BLD)/timespec-sub.$(O) : \
|
|||
$(SRC)/timespec-sub.c \
|
||||
$(SRC)/intprops.h \
|
||||
$(SRC)/timespec.h \
|
||||
$(EMACS_ROOT)/nt/inc/sys/time.h \
|
||||
$(EMACS_ROOT)/nt/inc/sys/stat.h \
|
||||
$(EMACS_ROOT)/src/s/ms-w32.h \
|
||||
$(EMACS_ROOT)/src/config.h
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
|
||||
#include <sys/stat.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
/* STAT_TIMESPEC (ST, ST_XTIM) is the ST_XTIM member for *ST of type
|
||||
struct timespec, if available. If not, then STAT_TIMESPEC_NS (ST,
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
# define TIMESPEC_H
|
||||
|
||||
# include <time.h>
|
||||
# include <sys/time.h>
|
||||
|
||||
/* Return negative, zero, positive if A < B, A == B, A > B, respectively.
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
int fdutimens (int, char const *, struct timespec const [2]);
|
||||
int utimens (char const *, struct timespec const [2]);
|
||||
int lutimens (char const *, struct timespec const [2]);
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2012-06-24 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* inc/sys/time.h (struct timespec): Don't define it here, it is
|
||||
now defined in src/s/ms-w32.h.
|
||||
|
||||
2012-06-23 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
Fix the MS-Windows build broken by 2012-06-22T21:17:42Z!eggert@cs.ucla.edu.
|
||||
|
|
|
@ -17,12 +17,6 @@ struct timezone
|
|||
int tz_dsttime; /* type of dst correction */
|
||||
};
|
||||
|
||||
struct timespec
|
||||
{
|
||||
time_t tv_sec; /* seconds */
|
||||
long int tv_nsec; /* nanoseconds */
|
||||
};
|
||||
|
||||
void gettimeofday (struct timeval *, struct timezone *);
|
||||
|
||||
#endif /* SYS_TIME_H_INCLUDED */
|
||||
|
|
|
@ -1,3 +1,13 @@
|
|||
2012-06-24 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* makefile.w32-in (TIMESPEC_H): Remove nt/inc/sys/time.h.
|
||||
(SYSTIME_H): Add nt/inc/sys/time.h.
|
||||
|
||||
* systime.h [WINDOWSNT]: Include sys/time.h.
|
||||
|
||||
* s/ms-w32.h (struct timespec): Definition moved from
|
||||
nt/inc/sys/time.h. Suggested by Paul Eggert <eggert@cs.ucla.edu>.
|
||||
|
||||
2012-06-24 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix bug when time_t is unsigned and as wide as intmax_t (Bug#9000).
|
||||
|
|
|
@ -390,10 +390,10 @@ EMACS_ROOT = ..
|
|||
GNU_LIB = $(EMACS_ROOT)/lib
|
||||
NT_INC = $(EMACS_ROOT)/nt/inc
|
||||
|
||||
TIMESPEC_H = $(GNU_LIB)/timespec.h \
|
||||
$(NT_INC)/sys/time.h
|
||||
TIMESPEC_H = $(GNU_LIB)/timespec.h
|
||||
SYSTIME_H = $(SRC)/systime.h \
|
||||
$(TIMESPEC_H)
|
||||
$(TIMESPEC_H) \
|
||||
$(NT_INC)/sys/time.h
|
||||
ATIMER_H = $(SRC)/atimer.h \
|
||||
$(SYSTIME_H)
|
||||
BLOCKINPUT_H = $(SRC)/blockinput.h \
|
||||
|
|
|
@ -296,6 +296,15 @@ typedef int pid_t;
|
|||
#define utime _utime
|
||||
#endif
|
||||
|
||||
/* 'struct timespec' is used by time-related functions in lib/ and
|
||||
elsewhere, but we don't use lib/time.h where the structure is
|
||||
defined. */
|
||||
struct timespec
|
||||
{
|
||||
time_t tv_sec; /* seconds */
|
||||
long int tv_nsec; /* nanoseconds */
|
||||
};
|
||||
|
||||
/* This is hacky, but is necessary to avoid warnings about macro
|
||||
redefinitions using the SDK compilers. */
|
||||
#ifndef __STDC__
|
||||
|
|
|
@ -38,6 +38,10 @@ typedef unsigned long Time;
|
|||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef WINDOWSNT
|
||||
#include <sys/time.h> /* for 'struct timeval' */
|
||||
#endif
|
||||
|
||||
/* The type to use to represent temporal intervals. It can be passed
|
||||
as the timeout argument to the pselect system call. */
|
||||
|
|
Loading…
Add table
Reference in a new issue