| diff -Naur Python-3.8.0-orig/Include/pyport.h Python-3.8.0/Include/pyport.h |
| --- Python-3.8.0-orig/Include/pyport.h 2019-10-22 10:00:37.955903300 +0300 |
| +++ Python-3.8.0/Include/pyport.h 2019-10-22 10:01:14.850968200 +0300 |
| @@ -651,12 +651,12 @@ |
| */ |
| |
| /* |
| - All windows ports, except cygwin, are handled in PC/pyconfig.h. |
| + Only MSVC windows ports is handled in PC/pyconfig.h. |
| |
| - Cygwin is the only other autoconf platform requiring special |
| + Cygwin and Mingw is the only other autoconf platform requiring special |
| linkage handling and it uses __declspec(). |
| */ |
| -#if defined(__CYGWIN__) |
| +#if defined(__CYGWIN__) || defined(__MINGW32__) |
| # define HAVE_DECLSPEC_DLL |
| #endif |
| |
| @@ -667,21 +667,23 @@ |
| # define PyAPI_FUNC(RTYPE) __declspec(dllexport) RTYPE |
| # define PyAPI_DATA(RTYPE) extern __declspec(dllexport) RTYPE |
| /* module init functions inside the core need no external linkage */ |
| - /* except for Cygwin to handle embedding */ |
| -# if defined(__CYGWIN__) |
| + /* except for Cygwin/Mingw to handle embedding */ |
| +# if defined(__CYGWIN__) || defined(__MINGW32__) |
| # define PyMODINIT_FUNC __declspec(dllexport) PyObject* |
| -# else /* __CYGWIN__ */ |
| +# else /* __CYGWIN__ || __MINGW32__*/ |
| # define PyMODINIT_FUNC PyObject* |
| -# endif /* __CYGWIN__ */ |
| +# endif /* __CYGWIN__ || __MINGW32__*/ |
| # else /* Py_BUILD_CORE */ |
| /* Building an extension module, or an embedded situation */ |
| /* public Python functions and data are imported */ |
| /* Under Cygwin, auto-import functions to prevent compilation */ |
| /* failures similar to those described at the bottom of 4.1: */ |
| /* http://docs.python.org/extending/windows.html#a-cookbook-approach */ |
| -# if !defined(__CYGWIN__) |
| +# if defined(__CYGWIN__) || defined(__MINGW32__) |
| +# define PyAPI_FUNC(RTYPE) RTYPE |
| +# else |
| # define PyAPI_FUNC(RTYPE) __declspec(dllimport) RTYPE |
| -# endif /* !__CYGWIN__ */ |
| +# endif /* __CYGWIN__ || __MINGW32__*/ |
| # define PyAPI_DATA(RTYPE) extern __declspec(dllimport) RTYPE |
| /* module init functions outside the core must be exported */ |
| # if defined(__cplusplus) |
| diff -Naur Python-3.8.0-orig/setup.py Python-3.8.0/setup.py |
| --- Python-3.8.0-orig/setup.py 2019-10-22 10:00:25.787881900 +0300 |
| +++ Python-3.8.0/setup.py 2019-10-22 10:01:15.256568900 +0300 |
| @@ -316,6 +316,9 @@ |
| raise ValueError("No source directory; cannot proceed.") |
| self.srcdir = os.path.abspath(self.srcdir) |
| |
| + if MS_WINDOWS: |
| + self.compiler.define_macro("Py_BUILD_CORE_MODULE") |
| + |
| # Detect which modules should be compiled |
| self.detect_modules() |
| |