diff -Naur Python-2.7.9-orig/configure.ac Python-2.7.9/configure.ac
--- Python-2.7.9-orig/configure.ac	2014-12-11 13:49:40.157000000 +0300
+++ Python-2.7.9/configure.ac	2014-12-11 13:49:41.841800000 +0300
@@ -527,6 +527,14 @@
 fi
 AC_MSG_RESULT($EXTRAPLATDIR)
 
+AC_MSG_CHECKING([for init system calls])
+AC_SUBST(INITSYS)
+case $host in
+  *-*-mingw*)	INITSYS=nt;;
+  *)		INITSYS=posix;;
+esac
+AC_MSG_RESULT([$INITSYS])
+
 # Record the configure-time value of MACOSX_DEPLOYMENT_TARGET,
 # it may influence the way we can build extensions, so distutils
 # needs to check it
diff -Naur Python-2.7.9-orig/Modules/posixmodule.c Python-2.7.9/Modules/posixmodule.c
--- Python-2.7.9-orig/Modules/posixmodule.c	2014-12-10 18:59:55.000000000 +0300
+++ Python-2.7.9/Modules/posixmodule.c	2014-12-11 13:49:41.841800000 +0300
@@ -131,6 +131,25 @@
 #define HAVE_CWAIT      1
 #define HAVE_FSYNC      1
 #define fsync _commit
+#elif defined(__MINGW32__)	/* GCC for windows hosts */
+/* getlogin is detected by configure on mingw-w64 */
+/*#undef HAVE_GETLOGIN */
+/*#define HAVE_GETCWD	1 - detected by configure*/
+/*#define HAVE_GETPPID    1 */
+/*#define HAVE_GETLOGIN   1 */
+#define HAVE_SPAWNV	1
+/*#define HAVE_EXECV	1 - detected by configure*/
+#define HAVE_PIPE	1
+#define HAVE_POPEN	1
+#define HAVE_SYSTEM	1
+#define HAVE_CWAIT	1
+#define HAVE_FSYNC	1
+#define fsync _commit
+#include <windows.h>
+#include <winioctl.h>
+#ifndef _MAX_ENV
+#define _MAX_ENV	32767
+#endif
 #else
 #if defined(PYOS_OS2) && defined(PYCC_GCC) || defined(__VMS)
 /* Everything needed is defined in PC/os2emx/pyconfig.h or vms/pyconfig.h */
@@ -259,7 +278,7 @@
 #endif
 #endif
 
-#ifdef _MSC_VER
+#ifdef MS_WINDOWS
 #ifdef HAVE_DIRECT_H
 #include <direct.h>
 #endif
@@ -575,7 +594,7 @@
 */
 #include <crt_externs.h>
 static char **environ;
-#elif !defined(_MSC_VER) && ( !defined(__WATCOMC__) || defined(__QNX__) )
+#elif !defined(MS_WINDOWS) && ( !defined(__WATCOMC__) || defined(__QNX__) )
 extern char **environ;
 #endif /* !_MSC_VER */
 
@@ -9392,7 +9411,7 @@
 }
 
 
-#if (defined(_MSC_VER) || defined(__WATCOMC__) || defined(__BORLANDC__)) && !defined(__QNX__)
+#if defined(MS_WINDOWS) && !defined(__QNX__)
 #define INITFUNC initnt
 #define MODNAME "nt"
 
diff -Naur Python-2.7.9-orig/Modules/Setup.config.in Python-2.7.9/Modules/Setup.config.in
--- Python-2.7.9-orig/Modules/Setup.config.in	2014-12-10 18:59:51.000000000 +0300
+++ Python-2.7.9/Modules/Setup.config.in	2014-12-11 13:49:41.841800000 +0300
@@ -3,6 +3,9 @@
 # The purpose of this file is to conditionally enable certain modules
 # based on configure-time options.
 
+# init system calls(posix/nt/...) for INITFUNC (used by makesetup)
+@INITSYS@ posixmodule.c
+
 # Threading
 @USE_THREAD_MODULE@thread threadmodule.c
 
diff -Naur Python-2.7.9-orig/Modules/Setup.dist Python-2.7.9/Modules/Setup.dist
--- Python-2.7.9-orig/Modules/Setup.dist	2014-12-10 18:59:51.000000000 +0300
+++ Python-2.7.9/Modules/Setup.dist	2014-12-11 13:49:41.841800000 +0300
@@ -112,7 +112,6 @@
 # This only contains the minimal set of modules required to run the 
 # setup.py script in the root of the Python source tree.
 
-posix posixmodule.c		# posix (UNIX) system calls
 errno errnomodule.c		# posix (UNIX) errno values
 pwd pwdmodule.c			# this is needed to find out the user's home dir
 				# if $HOME is not set
