Skip to content

Commit 8c41920

Browse files
committed
windows: Enable input(), sys.maxsize(), ujson module, emergency exception buf, os module
1 parent 2842945 commit 8c41920

3 files changed

Lines changed: 20 additions & 3 deletions

File tree

windows/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ SRC_C = \
3434
unix/main.c \
3535
unix/file.c \
3636
unix/input.c \
37+
unix/modos.c \
3738
unix/modtime.c \
3839
unix/gccollect.c \
3940
realpath.c \

windows/mpconfigport.h

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,24 @@
5050
#define MICROPY_PY_BUILTINS_FROZENSET (1)
5151
#define MICROPY_PY_SYS_EXIT (1)
5252
#define MICROPY_PY_SYS_PLATFORM "win32"
53+
#define MICROPY_PY_SYS_MAXSIZE (1)
5354
#define MICROPY_PY_SYS_STDFILES (1)
5455
#define MICROPY_PY_CMATH (1)
5556
#define MICROPY_PY_IO_FILEIO (1)
5657
#define MICROPY_PY_GC_COLLECT_RETVAL (1)
58+
5759
#define MICROPY_PY_UCTYPES (1)
5860
#define MICROPY_PY_ZLIBD (1)
61+
#define MICROPY_PY_UJSON (1)
62+
5963
#define MICROPY_ERROR_REPORTING (MICROPY_ERROR_REPORTING_DETAILED)
6064
#ifdef _MSC_VER
6165
#define MICROPY_GCREGS_SETJMP (1)
6266
#endif
6367

68+
#define MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF (1)
69+
#define MICROPY_EMERGENCY_EXCEPTION_BUF_SIZE (128)
70+
6471
#define MICROPY_PORT_INIT_FUNC init()
6572
#define MICROPY_PORT_DEINIT_FUNC deinit()
6673

@@ -84,13 +91,17 @@ typedef unsigned int mp_uint_t; // must be pointer size
8491
typedef void *machine_ptr_t; // must be of pointer size
8592
typedef const void *machine_const_ptr_t; // must be of pointer size
8693

94+
extern const struct _mp_obj_fun_builtin_t mp_builtin_input_obj;
8795
extern const struct _mp_obj_fun_builtin_t mp_builtin_open_obj;
8896
#define MICROPY_PORT_BUILTINS \
97+
{ MP_OBJ_NEW_QSTR(MP_QSTR_input), (mp_obj_t)&mp_builtin_input_obj }, \
8998
{ MP_OBJ_NEW_QSTR(MP_QSTR_open), (mp_obj_t)&mp_builtin_open_obj },
9099

100+
extern const struct _mp_obj_module_t mp_module_os;
91101
extern const struct _mp_obj_module_t mp_module_time;
92102
#define MICROPY_PORT_BUILTIN_MODULES \
93103
{ MP_OBJ_NEW_QSTR(MP_QSTR_time), (mp_obj_t)&mp_module_time }, \
104+
{ MP_OBJ_NEW_QSTR(MP_QSTR__os), (mp_obj_t)&mp_module_os }, \
94105

95106
// We need to provide a declaration/definition of alloca()
96107
#include <malloc.h>
@@ -113,8 +124,13 @@ void msec_sleep(double msec);
113124

114125
// CL specific overrides from mpconfig
115126

116-
#define NORETURN __declspec(noreturn)
117-
#define MICROPY_PORT_CONSTANTS { "dummy", 0 } //can't have zero-sized array
127+
#define NORETURN __declspec(noreturn)
128+
#define MICROPY_PORT_CONSTANTS { "dummy", 0 } //can't have zero-sized array
129+
#ifdef _WIN64
130+
#define MP_SSIZE_MAX _I64_MAX
131+
#else
132+
#define MP_SSIZE_MAX _I32_MAX
133+
#endif
118134

119135

120136
// CL specific definitions

windows/msvc/sources.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<ItemGroup>
77
<ClCompile Include="$(PyBaseDir)py\*.c" />
88
<ClCompile Include="$(PyBaseDir)extmod\*.c" />
9-
<ClCompile Include="$(PyBaseDir)unix\*.c" Exclude="$(PyBaseDir)unix\modffi.c;$(PyBaseDir)unix\modsocket.c;$(PyBaseDir)unix\modtermios.c;$(PyBaseDir)unix\seg_helpers.c" />
9+
<ClCompile Include="$(PyBaseDir)unix\*.c" Exclude="$(PyBaseDir)unix\alloc.c;$(PyBaseDir)unix\modffi.c;$(PyBaseDir)unix\modsocket.c;$(PyBaseDir)unix\modtermios.c;$(PyBaseDir)unix\seg_helpers.c" />
1010
<ClCompile Include="$(PyBaseDir)windows\*.c" />
1111
<ClCompile Include="$(PyBaseDir)windows\msvc\*.c" />
1212
</ItemGroup>

0 commit comments

Comments
 (0)