diff --git a/lib/time.in.h b/lib/time.in.h index a983f498e51..1adfe925398 100644 --- a/lib/time.in.h +++ b/lib/time.in.h @@ -24,9 +24,11 @@ declare a few standard symbols, rather than to declare all the symbols. Also, Solaris 8 eventually includes itself recursively; if that is happening, just include the system - without adding our own declarations. */ -#if (defined __need_time_t || defined __need_clock_t \ - || defined __need_timespec \ + without adding our own declarations. MinGW system headers use + these symbols as well, but we don't want to exclude MinGW from the + 'else' branch below. */ +#if (((defined __need_time_t || defined __need_clock_t \ + || defined __need_timespec) && !defined __MINGW32__) \ || defined _@GUARD_PREFIX@_TIME_H) # @INCLUDE_NEXT@ @NEXT_TIME_H@ diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h index bfa5bb5e149..4fb32df0c07 100644 --- a/nt/inc/ms-w32.h +++ b/nt/inc/ms-w32.h @@ -306,21 +306,6 @@ int _getpid (void); #include #define tzname _tzname -/* '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. */ -/* MinGW64 defines 'struct timespec' and _TIMESPEC_DEFINED in sys/types.h. */ -/* Mingw.org's MinGW runtime versions 3.22 and upward define 'struct - timespec' and __struct_timespec_defined in parts/time.h, which is - included by time.h. */ -#if !defined (_TIMESPEC_DEFINED) && !defined (__struct_timespec_defined) -struct timespec -{ - time_t tv_sec; /* seconds */ - long int tv_nsec; /* nanoseconds */ -}; -#endif - /* Required for functions in lib/time_r.c, since we don't use lib/time.h. */ extern struct tm *gmtime_r (time_t const * restrict, struct tm * restrict); extern struct tm *localtime_r (time_t const * restrict, struct tm * restrict); diff --git a/nt/mingw-cfg.site b/nt/mingw-cfg.site index 0be24dde12f..05034fedd48 100644 --- a/nt/mingw-cfg.site +++ b/nt/mingw-cfg.site @@ -35,6 +35,11 @@ ac_cv_header_getopt_h=no # We don't want our struct timeval replaced due to Posix conformance gl_cv_sys_struct_timeval_tv_sec=yes +# We don't want pthread.h to be picked up just because it defines timespec +gl_cv_sys_struct_timespec_in_pthread_h=no +# Or at all... +ac_cv_header_pthread_h=no + # ACL functions are implemented in w32.c ac_cv_search_acl_get_file="none required" ac_cv_func_acl_get_file=yes