From f724d90e6c0c6dadf0a746ba1413517d6ce497db Mon Sep 17 00:00:00 2001 From: Laurens Valk Date: Tue, 29 Nov 2022 10:38:57 +0100 Subject: [PATCH] py/modmicropython: Make module optional. This module is useful, but it is not always needed. Disabling it saves several kilobytes of build size, depending on other config options. Signed-off-by: Laurens Valk --- py/modmicropython.c | 4 ++++ py/mpconfig.h | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/py/modmicropython.c b/py/modmicropython.c index eafff90c60eb..c717926e6631 100644 --- a/py/modmicropython.c +++ b/py/modmicropython.c @@ -32,6 +32,8 @@ #include "py/gc.h" #include "py/mphal.h" +#if MICROPY_PY_MICROPYTHON + // Various builtins specific to MicroPython runtime, // living in micropython module @@ -211,3 +213,5 @@ const mp_obj_module_t mp_module_micropython = { }; MP_REGISTER_MODULE(MP_QSTR_micropython, mp_module_micropython); + +#endif // MICROPY_PY_MICROPYTHON diff --git a/py/mpconfig.h b/py/mpconfig.h index 0ae6fcdd1169..62c123bc0bed 100644 --- a/py/mpconfig.h +++ b/py/mpconfig.h @@ -1311,6 +1311,11 @@ typedef double mp_float_t; #define MICROPY_PY_CMATH (MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_EXTRA_FEATURES) #endif +// Whether to provide "micropython" module +#ifndef MICROPY_PY_MICROPYTHON +#define MICROPY_PY_MICROPYTHON (1) +#endif + // Whether to provide "gc" module #ifndef MICROPY_PY_GC #define MICROPY_PY_GC (MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_CORE_FEATURES)