diff --git a/windows/Makefile b/windows/Makefile index e3085ff23b..44029c028f 100644 --- a/windows/Makefile +++ b/windows/Makefile @@ -34,6 +34,7 @@ SRC_C = \ unix/main.c \ unix/file.c \ unix/input.c \ + unix/modos.c \ unix/modtime.c \ unix/gccollect.c \ realpath.c \ diff --git a/windows/mpconfigport.h b/windows/mpconfigport.h index 852ca3f5fb..9725c3dfe5 100644 --- a/windows/mpconfigport.h +++ b/windows/mpconfigport.h @@ -50,17 +50,24 @@ #define MICROPY_PY_BUILTINS_FROZENSET (1) #define MICROPY_PY_SYS_EXIT (1) #define MICROPY_PY_SYS_PLATFORM "win32" +#define MICROPY_PY_SYS_MAXSIZE (1) #define MICROPY_PY_SYS_STDFILES (1) #define MICROPY_PY_CMATH (1) #define MICROPY_PY_IO_FILEIO (1) #define MICROPY_PY_GC_COLLECT_RETVAL (1) + #define MICROPY_PY_UCTYPES (1) #define MICROPY_PY_ZLIBD (1) +#define MICROPY_PY_UJSON (1) + #define MICROPY_ERROR_REPORTING (MICROPY_ERROR_REPORTING_DETAILED) #ifdef _MSC_VER #define MICROPY_GCREGS_SETJMP (1) #endif +#define MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF (1) +#define MICROPY_EMERGENCY_EXCEPTION_BUF_SIZE (128) + #define MICROPY_PORT_INIT_FUNC init() #define MICROPY_PORT_DEINIT_FUNC deinit() @@ -84,13 +91,17 @@ typedef unsigned int mp_uint_t; // must be pointer size typedef void *machine_ptr_t; // must be of pointer size typedef const void *machine_const_ptr_t; // must be of pointer size +extern const struct _mp_obj_fun_builtin_t mp_builtin_input_obj; extern const struct _mp_obj_fun_builtin_t mp_builtin_open_obj; #define MICROPY_PORT_BUILTINS \ + { MP_OBJ_NEW_QSTR(MP_QSTR_input), (mp_obj_t)&mp_builtin_input_obj }, \ { MP_OBJ_NEW_QSTR(MP_QSTR_open), (mp_obj_t)&mp_builtin_open_obj }, +extern const struct _mp_obj_module_t mp_module_os; extern const struct _mp_obj_module_t mp_module_time; #define MICROPY_PORT_BUILTIN_MODULES \ { MP_OBJ_NEW_QSTR(MP_QSTR_time), (mp_obj_t)&mp_module_time }, \ + { MP_OBJ_NEW_QSTR(MP_QSTR__os), (mp_obj_t)&mp_module_os }, \ // We need to provide a declaration/definition of alloca() #include @@ -113,8 +124,13 @@ void msec_sleep(double msec); // CL specific overrides from mpconfig -#define NORETURN __declspec(noreturn) -#define MICROPY_PORT_CONSTANTS { "dummy", 0 } //can't have zero-sized array +#define NORETURN __declspec(noreturn) +#define MICROPY_PORT_CONSTANTS { "dummy", 0 } //can't have zero-sized array +#ifdef _WIN64 +#define MP_SSIZE_MAX _I64_MAX +#else +#define MP_SSIZE_MAX _I32_MAX +#endif // CL specific definitions diff --git a/windows/msvc/sources.props b/windows/msvc/sources.props index b48277ff29..364f36b044 100644 --- a/windows/msvc/sources.props +++ b/windows/msvc/sources.props @@ -6,7 +6,7 @@ - +