summaryrefslogtreecommitdiffstatshomepage
path: root/py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-01-20 10:21:30 +1100
committerDamien George <damien.p.george@gmail.com>2017-01-22 11:59:29 +1100
commit9de91914fb7520bd946b87b1832a002c5725f7e8 (patch)
tree20fe5faa547695699f57863f6c26a60329a72a68 /py
parent1864f90e9a2c0cc12e91c88ddd491b809c5317e5 (diff)
downloadmicropython-9de91914fb7520bd946b87b1832a002c5725f7e8.tar.gz
micropython-9de91914fb7520bd946b87b1832a002c5725f7e8.zip
py: Move weak-link map to objmodule.c, and expose module maps as public.
Diffstat (limited to 'py')
-rw-r--r--py/builtinimport.c8
-rw-r--r--py/objmodule.c10
-rw-r--r--py/objmodule.h3
3 files changed, 12 insertions, 9 deletions
diff --git a/py/builtinimport.c b/py/builtinimport.c
index 329dcb193a..0a917c6f83 100644
--- a/py/builtinimport.c
+++ b/py/builtinimport.c
@@ -47,14 +47,6 @@
#define PATH_SEP_CHAR '/'
-#if MICROPY_MODULE_WEAK_LINKS
-STATIC const mp_rom_map_elem_t mp_builtin_module_weak_links_table[] = {
- MICROPY_PORT_BUILTIN_MODULE_WEAK_LINKS
-};
-
-STATIC MP_DEFINE_CONST_MAP(mp_builtin_module_weak_links_map, mp_builtin_module_weak_links_table);
-#endif
-
bool mp_obj_is_package(mp_obj_t module) {
mp_obj_t dest[2];
mp_load_method_maybe(module, MP_QSTR___path__, dest);
diff --git a/py/objmodule.c b/py/objmodule.c
index 1c79e1a18d..a0a179de4b 100644
--- a/py/objmodule.c
+++ b/py/objmodule.c
@@ -227,7 +227,15 @@ STATIC const mp_rom_map_elem_t mp_builtin_module_table[] = {
MICROPY_PORT_BUILTIN_MODULES
};
-STATIC MP_DEFINE_CONST_MAP(mp_builtin_module_map, mp_builtin_module_table);
+MP_DEFINE_CONST_MAP(mp_builtin_module_map, mp_builtin_module_table);
+
+#if MICROPY_MODULE_WEAK_LINKS
+STATIC const mp_rom_map_elem_t mp_builtin_module_weak_links_table[] = {
+ MICROPY_PORT_BUILTIN_MODULE_WEAK_LINKS
+};
+
+MP_DEFINE_CONST_MAP(mp_builtin_module_weak_links_map, mp_builtin_module_weak_links_table);
+#endif
void mp_module_init(void) {
mp_obj_dict_init(&MP_STATE_VM(mp_loaded_modules_dict), 3);
diff --git a/py/objmodule.h b/py/objmodule.h
index 138f942c21..937ff84168 100644
--- a/py/objmodule.h
+++ b/py/objmodule.h
@@ -28,6 +28,9 @@
#include "py/obj.h"
+extern const mp_map_t mp_builtin_module_map;
+extern const mp_map_t mp_builtin_module_weak_links_map;
+
void mp_module_init(void);
void mp_module_deinit(void);
mp_obj_t mp_module_get(qstr module_name);