| 
							- diff -Naur Python-3.8.0-orig/Include/internal/pycore_condvar.h Python-3.8.0/Include/internal/pycore_condvar.h
 - --- Python-3.8.0-orig/Include/internal/pycore_condvar.h	2019-10-14 16:34:47.000000000 +0300
 - +++ Python-3.8.0/Include/internal/pycore_condvar.h	2019-10-22 10:02:30.231300600 +0300
 - @@ -5,6 +5,12 @@
 -  #  error "this header requires Py_BUILD_CORE define"
 -  #endif
 -  
 - +#ifdef __MINGW32__
 - +# if !defined(HAVE_PTHREAD_H) || defined(NT_THREADS)
 - +#  undef _POSIX_THREADS
 - +# endif
 - +#endif
 - +
 -  #ifndef _POSIX_THREADS
 -  /* This means pthreads are not implemented in libc headers, hence the macro
 -     not present in unistd.h. But they still can be implemented as an external
 - @@ -37,6 +43,10 @@
 -  /* include windows if it hasn't been done before */
 -  #define WIN32_LEAN_AND_MEAN
 -  #include <windows.h>
 - +/* winpthreads are involved via windows header, so need undef _POSIX_THREADS after header include */
 - +#if defined(_POSIX_THREADS)
 - +#undef _POSIX_THREADS
 - +#endif
 -  
 -  /* options */
 -  /* non-emulated condition variables are provided for those that want
 - diff -Naur Python-3.8.0-orig/Include/pythread.h Python-3.8.0/Include/pythread.h
 - --- Python-3.8.0-orig/Include/pythread.h	2019-10-14 16:34:47.000000000 +0300
 - +++ Python-3.8.0/Include/pythread.h	2019-10-22 10:02:30.652501400 +0300
 - @@ -9,6 +9,12 @@
 -  extern "C" {
 -  #endif
 -  
 - +#ifdef __MINGW32__
 - +# if !defined(HAVE_PTHREAD_H) || defined(NT_THREADS)
 - +#  undef _POSIX_THREADS
 - +# endif
 - +#endif
 - +
 -  /* Return status codes for Python lock acquisition.  Chosen for maximum
 -   * backwards compatibility, ie failure -> 0, success -> 1.  */
 -  typedef enum PyLockStatus {
 
 
  |