summaryrefslogtreecommitdiff
path: root/py/runtime.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-01-16 19:19:50 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-01-16 19:29:11 +0200
commitdcac88095b3a67e75204f6b245d62d481ce2d906 (patch)
tree77c4ec4cbede304afffe0f7a86f8e9886e8b900d /py/runtime.c
parentc8742a06ca84528a45a2f5bad7d169694757f096 (diff)
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.
Diffstat (limited to 'py/runtime.c')
-rw-r--r--py/runtime.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/py/runtime.c b/py/runtime.c
index e1e9e31cc..0da3ced05 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;