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.
This commit is contained in:
parent
c8742a06ca
commit
dcac88095b
|
@ -85,6 +85,14 @@ typedef long long mp_longint_impl_t;
|
||||||
#define MICROPY_ENABLE_SLICE (1)
|
#define MICROPY_ENABLE_SLICE (1)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Enable features which improve CPython compatibility
|
||||||
|
// but may lead to more code size/memory usage.
|
||||||
|
// TODO: Originally intended as generic category to not
|
||||||
|
// add bunch of once-off options. May need refactoring later
|
||||||
|
#ifndef MICROPY_CPYTHON_COMPAT
|
||||||
|
#define MICROPY_CPYTHON_COMPAT (1)
|
||||||
|
#endif
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Miscellaneous settings */
|
/* Miscellaneous settings */
|
||||||
|
|
||||||
|
|
|
@ -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_sum, (mp_obj_t)&mp_builtin_sum_obj);
|
||||||
mp_map_add_qstr(&map_builtins, MP_QSTR_str, (mp_obj_t)&mp_builtin_str_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"
|
next_unique_code_id = 1; // 0 indicates "no code"
|
||||||
unique_codes_alloc = 0;
|
unique_codes_alloc = 0;
|
||||||
unique_codes = NULL;
|
unique_codes = NULL;
|
||||||
|
|
Loading…
Reference in New Issue