108 lines
3.3 KiB
Diff
108 lines
3.3 KiB
Diff
diff -urN a/configure.ac b/configure.ac
|
|
--- a/configure.ac 2013-12-26 18:43:26.208055700 +0000
|
|
+++ b/configure.ac 2013-12-26 18:43:29.770259400 +0000
|
|
@@ -556,6 +556,14 @@
|
|
fi
|
|
AC_MSG_RESULT($MACHDEP)
|
|
|
|
+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 -urN a/Modules/posixmodule.c b/Modules/posixmodule.c
|
|
--- a/Modules/posixmodule.c 2013-12-26 18:43:27.203112600 +0000
|
|
+++ b/Modules/posixmodule.c 2013-12-26 18:43:29.776259700 +0000
|
|
@@ -178,6 +178,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 */
|
|
@@ -305,7 +324,7 @@
|
|
#endif
|
|
#endif
|
|
|
|
-#ifdef _MSC_VER
|
|
+#ifdef MS_WINDOWS
|
|
#ifdef HAVE_DIRECT_H
|
|
#include <direct.h>
|
|
#endif
|
|
@@ -1092,7 +1111,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 */
|
|
|
|
@@ -3857,8 +3876,6 @@
|
|
return PyBytes_FromString(outbuf);
|
|
} /* end of posix__getfullpathname */
|
|
|
|
-
|
|
-
|
|
/* A helper function for samepath on windows */
|
|
static PyObject *
|
|
posix__getfinalpathname(PyObject *self, PyObject *args)
|
|
@@ -11917,7 +11934,7 @@
|
|
}
|
|
|
|
|
|
-#if (defined(_MSC_VER) || defined(__WATCOMC__) || defined(__BORLANDC__)) && !defined(__QNX__)
|
|
+#if defined(MS_WINDOWS) && !defined(__QNX__)
|
|
#define INITFUNC PyInit_nt
|
|
#define MODNAME "nt"
|
|
|
|
diff -urN a/Modules/Setup.config.in b/Modules/Setup.config.in
|
|
--- a/Modules/Setup.config.in 2013-12-26 18:43:27.206112700 +0000
|
|
+++ b/Modules/Setup.config.in 2013-12-26 18:43:29.778259900 +0000
|
|
@@ -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 -urN a/Modules/Setup.dist b/Modules/Setup.dist
|
|
--- a/Modules/Setup.dist 2013-12-26 18:43:27.207112800 +0000
|
|
+++ b/Modules/Setup.dist 2013-12-26 18:43:29.779259900 +0000
|
|
@@ -105,7 +105,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
|