diff --git a/py/runtime.c b/py/runtime.c index 2928de8a7207eef951a8bc8f039cf589b1a19cec..ba78ec40f3dfb7a64daef69d05951fffe2dcfd46 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 351aad6f1af6ebad8a63041373df193895f418f2..ce75a609856c9fdbfbeb35615ca7a292a37b4789 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 0000000000000000000000000000000000000000..78b8738f77badb0d581cf9bd7396be05d3fb527d --- /dev/null +++ b/windows/init.c @@ -0,0 +1,5 @@ +#include <stdlib.h> + +void init() { + putenv("PRINTF_EXPONENT_DIGITS=2"); +} diff --git a/windows/init.h b/windows/init.h new file mode 100644 index 0000000000000000000000000000000000000000..d081a20527ef70d2a393b969aa4790183eb42eaa --- /dev/null +++ b/windows/init.h @@ -0,0 +1 @@ +void init(); diff --git a/windows/mpconfigport.h b/windows/mpconfigport.h index d27c59cb3185a6d6f027cf6c9ac5a14678e35999..94b33340071155d1b5f8752c421ccc13e5015fb7 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"