diff --git a/py/runtime.c b/py/runtime.c index 2928de8a72..ba78ec40f3 100644 --- a/py/runtime.c +++ b/py/runtime.c @@ -42,6 +42,11 @@ const mp_obj_module_t mp_module___main__ = { }; void mp_init(void) { + // call port specific initialization if any +#ifdef MICROPY_PORT_INIT_FUNC + MICROPY_PORT_INIT_FUNC; +#endif + mp_emit_glue_init(); // init global module stuff diff --git a/windows/Makefile b/windows/Makefile index 351aad6f1a..ce75a60985 100644 --- a/windows/Makefile +++ b/windows/Makefile @@ -31,6 +31,7 @@ SRC_C = \ unix/main.c \ unix/file.c \ realpath.c \ + init.c \ OBJ = $(PY_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o)) diff --git a/windows/init.c b/windows/init.c new file mode 100644 index 0000000000..78b8738f77 --- /dev/null +++ b/windows/init.c @@ -0,0 +1,5 @@ +#include + +void init() { + putenv("PRINTF_EXPONENT_DIGITS=2"); +} diff --git a/windows/init.h b/windows/init.h new file mode 100644 index 0000000000..70e535e495 --- /dev/null +++ b/windows/init.h @@ -0,0 +1 @@ +void init(void); diff --git a/windows/mpconfigport.h b/windows/mpconfigport.h index d27c59cb31..94b3334007 100644 --- a/windows/mpconfigport.h +++ b/windows/mpconfigport.h @@ -15,6 +15,7 @@ #define MICROPY_MOD_SYS_STDFILES (1) #define MICROPY_FLOAT_IMPL (MICROPY_FLOAT_IMPL_DOUBLE) #define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ) +#define MICROPY_PORT_INIT_FUNC init() // type definitions for the specific machine @@ -38,3 +39,4 @@ extern const struct _mp_obj_fun_native_t mp_builtin_open_obj; { MP_OBJ_NEW_QSTR(MP_QSTR_open), (mp_obj_t)&mp_builtin_open_obj }, #include "realpath.h" +#include "init.h"