emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 7009674: MS-Windows follow-up for recent TZ-related


From: Eli Zaretskii
Subject: [Emacs-diffs] master 7009674: MS-Windows follow-up for recent TZ-related changes
Date: Mon, 27 Jul 2015 12:17:47 +0000

branch: master
commit 70096743d5bed2c4c0221da32ebf824ad6a262c5
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    MS-Windows follow-up for recent TZ-related changes
    
    * nt/mingw-cfg.site (ac_cv_header_pthread_h)
    (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
    picking up 'struct timespec' from pthread.h, if it is installed on
    the user's system.  We want either the definitions from MinGW
    system headers, if available, or the Gnulib replacements if not.
    
    * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
    lib/time.h.
    
    * lib/time.in.h: Don't let __need_* symbols affect what happens on
    MinGW.  These symbols are defined by MinGW system headers, but we
    don't want that to affect whether Gnulib portions of the header
    are or aren't used.
---
 lib/time.in.h     |    8 +++++---
 nt/inc/ms-w32.h   |   15 ---------------
 nt/mingw-cfg.site |    5 +++++
 3 files changed, 10 insertions(+), 18 deletions(-)

diff --git a/lib/time.in.h b/lib/time.in.h
index a983f49..1adfe92 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 <time.h> eventually includes itself
    recursively; if that is happening, just include the system <time.h>
-   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 address@hidden@_TIME_H)
 
 # @INCLUDE_NEXT@ @NEXT_TIME_H@
diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h
index bfa5bb5..4fb32df 100644
--- a/nt/inc/ms-w32.h
+++ b/nt/inc/ms-w32.h
@@ -306,21 +306,6 @@ int _getpid (void);
 #include <time.h>
 #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 0be24dd..05034fe 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



reply via email to

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