From dcac88095b3a67e75204f6b245d62d481ce2d906 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Thu, 16 Jan 2014 19:19:50 +0200 Subject: Add empty "micropython" module to allow more seamless CPython portability. Implicit "micropython" module contains (at least) codegeneration decorators. Make it explicit, so an app could have "import micropython". On MicroPython, that will be no-op. On CPython, that will give a chance to have a module with placeholder decorators. --- py/runtime.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'py/runtime.c') diff --git a/py/runtime.c b/py/runtime.c index e1e9e31cc7..0da3ced058 100644 --- a/py/runtime.c +++ b/py/runtime.c @@ -143,6 +143,13 @@ void rt_init(void) { mp_map_add_qstr(&map_builtins, MP_QSTR_sum, (mp_obj_t)&mp_builtin_sum_obj); mp_map_add_qstr(&map_builtins, MP_QSTR_str, (mp_obj_t)&mp_builtin_str_obj); +#if MICROPY_CPYTHON_COMPAT + // Add (empty) micropython module, so it was possible to "import micropython", + // which can be a placeholder module on CPython. + mp_obj_t m = mp_obj_new_module(qstr_from_str_static("micropython")); + rt_store_name(qstr_from_str_static("micropython"), m); +#endif + next_unique_code_id = 1; // 0 indicates "no code" unique_codes_alloc = 0; unique_codes = NULL; -- cgit v1.2.3