Files
MINGW-packages/mingw-w64-python3/0400-MINGW-setup-msvcrt-and-_winapi-modules.patch
2014-10-14 13:29:49 +04:00

55 lines
1.8 KiB
Diff

diff -urN a/Modules/_winapi.c b/Modules/_winapi.c
--- a/Modules/_winapi.c 2014-10-11 14:20:25.474190900 +0100
+++ b/Modules/_winapi.c 2014-10-11 14:20:27.224291000 +0100
@@ -39,7 +39,9 @@
#define WINDOWS_LEAN_AND_MEAN
#include "windows.h"
+#if defined(Py_DEBUG)
#include <crtdbg.h>
+#endif
#if defined(MS_WIN32) && !defined(MS_WIN64)
#define HANDLE_TO_PYNUM(handle) \
diff -urN a/PC/msvcrtmodule.c b/PC/msvcrtmodule.c
--- a/PC/msvcrtmodule.c 2014-10-11 14:20:25.201175300 +0100
+++ b/PC/msvcrtmodule.c 2014-10-11 14:20:27.225291100 +0100
@@ -21,7 +21,9 @@
#include <io.h>
#include <conio.h>
#include <sys/locking.h>
+#ifdef _DEBUG
#include <crtdbg.h>
+#endif
#include <windows.h>
#ifdef _MSC_VER
diff -urN a/setup.py b/setup.py
--- a/setup.py 2014-10-11 14:20:24.603141100 +0100
+++ b/setup.py 2014-10-11 14:20:27.226291100 +0100
@@ -887,6 +887,24 @@
min_db_ver = (3, 3)
db_setup_debug = False # verbose debug prints from this script?
+ # Modules with some Windows dependencies:
+ if host_platform.startswith(('mingw', 'win')):
+ srcdir = sysconfig.get_config_var('srcdir')
+ pc_srcdir = os.path.abspath(os.path.join(srcdir, 'PC'))
+
+ exts.append( Extension('msvcrt', [os.path.join(pc_srcdir, p)
+ for p in ['msvcrtmodule.c']]) )
+
+ exts.append( Extension('_winapi', ['_winapi.c']) )
+
+ exts.append( Extension('_msi', [os.path.join(pc_srcdir, p)
+ for p in ['_msi.c']],
+ libraries=['msi','cabinet','rpcrt4']) ) # To link with lib(msi|cabinet|rpcrt4).a
+
+ exts.append( Extension('winsound', [os.path.join(pc_srcdir, p)
+ for p in ['winsound.c']],
+ libraries=['winmm']) )
+
def allow_db_ver(db_ver):
"""Returns a boolean if the given BerkeleyDB version is acceptable.