--- posixmodule.c 2016-01-27 10:53:11.000000000 +0300 +++ posixmodule.c.2.7.mingw 2016-03-24 01:22:16.392646043 +0300 @@ -132,6 +132,18 @@ #define HAVE_FSYNC 1 #define fsync _commit #else +#ifdef __MINGW32__ +#define HAVE_UNISTD_H +#define HAVE_GETCWD 1 +#define HAVE_SPAWNV 1 +#define HAVE_EXECV 1 +#define HAVE_PIPE 1 +#define HAVE_POPEN 1 +#define HAVE_SYSTEM 1 +#define HAVE_CWAIT 1 +#define HAVE_FSYNC 1 +#define fsync _commit +#else #if defined(PYOS_OS2) && defined(PYCC_GCC) || defined(__VMS) /* Everything needed is defined in PC/os2emx/pyconfig.h or vms/pyconfig.h */ #else /* all other compilers */ @@ -158,6 +170,7 @@ #define HAVE_TTYNAME 1 #endif /* PYOS_OS2 && PYCC_GCC && __VMS */ #endif /* _MSC_VER */ +#endif /* __MINGW__ */ #endif /* __BORLANDC__ */ #endif /* ! __WATCOMC__ || __QNX__ */ #endif /* ! __IBMC__ */ @@ -277,6 +290,12 @@ #define pclose _pclose #endif /* _MSC_VER */ +#ifdef __MINGW32__ +#include +#include +#include "osdefs.h" +#endif + #if defined(PYCC_VACPP) && defined(PYOS_OS2) #include #endif /* OS2 */ @@ -9447,7 +9466,7 @@ } -#if (defined(_MSC_VER) || defined(__WATCOMC__) || defined(__BORLANDC__)) && !defined(__QNX__) +#if (defined(_MSC_VER) || defined(__MINGW32__) || defined(__WATCOMC__) || defined(__BORLANDC__)) && !defined(__QNX__) #define INITFUNC initnt #define MODNAME "nt"