diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index d0a65a6a7a4aa..4d7510eb7ede0 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -188,7 +188,9 @@ typedef long mp_off_t; // Turning off FULL_BUILD removes some functionality to reduce flash size on tiny SAMD21s #define MICROPY_BUILTIN_METHOD_CHECK_SELF_ARG (CIRCUITPY_FULL_BUILD) +#ifndef MICROPY_CPYTHON_COMPAT #define MICROPY_CPYTHON_COMPAT (CIRCUITPY_FULL_BUILD) +#endif #define MICROPY_PY_BUILTINS_POW3 (CIRCUITPY_BUILTINS_POW3) #define MICROPY_COMP_FSTRING_LITERAL (MICROPY_CPYTHON_COMPAT) #define MICROPY_MODULE_WEAK_LINKS (0) diff --git a/py/circuitpy_mpconfig.mk b/py/circuitpy_mpconfig.mk index b486497692779..0e82b31495c11 100644 --- a/py/circuitpy_mpconfig.mk +++ b/py/circuitpy_mpconfig.mk @@ -36,6 +36,11 @@ CFLAGS += -DCIRCUITPY_FULL_BUILD=$(CIRCUITPY_FULL_BUILD) MICROPY_PY_ASYNC_AWAIT ?= $(CIRCUITPY_FULL_BUILD) CFLAGS += -DMICROPY_PY_ASYNC_AWAIT=$(MICROPY_PY_ASYNC_AWAIT) +# Non-full builds may optionally set MICROPY_CPYTHON_COMPAT for a few rarely +# used CPython features. Omitting it reduces flash usage by ~2 KB +MICROPY_CPYTHON_COMPAT ?= $(CIRCUITPY_FULL_BUILD) +CFLAGS += -DMICROPY_CPYTHON_COMPAT=$(MICROPY_CPYTHON_COMPAT) + CIRCUITPY_AESIO ?= 0 CFLAGS += -DCIRCUITPY_AESIO=$(CIRCUITPY_AESIO)