Skip to content

Commit a1dcbd3

Browse files
naveen521kklazka
authored andcommitted
Enable some windows specific modules
1 parent 1e7b24a commit a1dcbd3

File tree

6 files changed

+30
-1
lines changed

6 files changed

+30
-1
lines changed

Modules/Setup.bootstrap.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,5 @@ _symtable symtablemodule.c
3636

3737
# build-in modules for windows platform:
3838
@USE_WIN32_MODULE@winreg ../PC/winreg.c
39+
@MODULE_MSVCRT_TRUE@msvcrt -DPy_BUILD_CORE ../PC/msvcrtmodule.c
40+
@MODULE__WINAPI_TRUE@_winapi _winapi.c

Modules/_winapi.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@
4141

4242
#define WINDOWS_LEAN_AND_MEAN
4343
#include "windows.h"
44+
#if defined(Py_DEBUG)
4445
#include <crtdbg.h>
46+
#endif
4547
#include "winreparse.h"
4648

4749
#if defined(MS_WIN32) && !defined(MS_WIN64)

PC/msvcrtmodule.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222
#include <io.h>
2323
#include <conio.h>
2424
#include <sys/locking.h>
25+
#ifdef _DEBUG
2526
#include <crtdbg.h>
27+
#endif
2628
#include <windows.h>
2729

2830
#ifdef _MSC_VER

Python/dynamic_annotations.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
* Author: Kostya Serebryany
2828
*/
2929

30-
#ifdef _MSC_VER
30+
#ifdef MS_WINDOWS
3131
# include <windows.h>
3232
#endif
3333

configure.ac

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7310,6 +7310,16 @@ PY_STDLIB_MOD([_ssl], [], [test "$ac_cv_working_openssl_ssl" = yes],
73107310
PY_STDLIB_MOD([_hashlib], [], [test "$ac_cv_working_openssl_hashlib" = yes],
73117311
[$OPENSSL_INCLUDES], [$OPENSSL_LDFLAGS $OPENSSL_LDFLAGS_RPATH $LIBCRYPTO_LIBS])
73127312

7313+
dnl windows specific modules
7314+
PY_STDLIB_MOD([msvcrt], [test "$MACHDEP" = "win32"])
7315+
PY_STDLIB_MOD([_winapi], [test "$MACHDEP" = "win32"])
7316+
PY_STDLIB_MOD([_msi], [test "$MACHDEP" = "win32"], [], [],
7317+
[-lmsi -lcabinet -lrpcrt4])
7318+
PY_STDLIB_MOD([winsound], [test "$MACHDEP" = "win32"], [], [],
7319+
[-lwinmm])
7320+
PY_STDLIB_MOD([_overlapped], [test "$MACHDEP" = "win32"], [], [],
7321+
[-lws2_32])
7322+
73137323
dnl test modules
73147324
PY_STDLIB_MOD([_testcapi], [test "$TEST_MODULES" = yes])
73157325
PY_STDLIB_MOD([_testclinic], [test "$TEST_MODULES" = yes])

setup.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1286,6 +1286,19 @@ def detect_platform_specific_exts(self):
12861286
# macOS-only, needs SystemConfiguration and CoreFoundation framework
12871287
self.addext(Extension('_scproxy', ['_scproxy.c']))
12881288

1289+
# Windows-only modules
1290+
if MS_WINDOWS:
1291+
srcdir = sysconfig.get_config_var('srcdir')
1292+
pc_srcdir = os.path.abspath(os.path.join(srcdir, 'PC'))
1293+
1294+
self.addext(Extension('_msi',
1295+
[os.path.join(pc_srcdir, '_msi.c')]))
1296+
1297+
self.addext(Extension('winsound',
1298+
[os.path.join(pc_srcdir, 'winsound.c')]))
1299+
1300+
self.addext(Extension('_overlapped', ['overlapped.c']))
1301+
12891302
def detect_compress_exts(self):
12901303
# Andrew Kuchling's zlib module.
12911304
self.addext(Extension('zlib', ['zlibmodule.c']))

0 commit comments

Comments
 (0)