summaryrefslogtreecommitdiff
path: root/py/mkrules.cmake
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2025-03-02 23:52:13 +1100
committerDamien George <damien@micropython.org>2025-03-05 12:23:40 +1100
commitf5b4545761dbbce0c00dec6d90d180663a61eaa4 (patch)
tree9c1dcdb1c74fb05eaef5683ae1d72e9a05b3384d /py/mkrules.cmake
parentb4cf82b2d62c60c5e6e10d8d23c6b099b96c6f75 (diff)
py/modsys: Add sys.implementation._build entry.
For a given MicroPython firmware/executable it can be sometimes important to know how it was built, which variant/board configuration it came from. This commit adds a new field `sys.implementation._build` that can help identify the configuration that MicroPython was built with. For now it's either: * <VARIANT> for unix, webassembly and windows ports * <BOARD>-<VARIANT> for microcontroller ports (the variant is optional) In the future additional elements may be added to this string, separated by a hyphen. Resolves issue #16498. Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py/mkrules.cmake')
-rw-r--r--py/mkrules.cmake13
1 files changed, 13 insertions, 0 deletions
diff --git a/py/mkrules.cmake b/py/mkrules.cmake
index 907500dd6..cafcbce56 100644
--- a/py/mkrules.cmake
+++ b/py/mkrules.cmake
@@ -19,6 +19,19 @@ if(NOT MICROPY_PREVIEW_VERSION_2)
set(MICROPY_PREVIEW_VERSION_2 0)
endif()
+# Set the board name.
+if(MICROPY_BOARD)
+ if(MICROPY_BOARD_VARIANT)
+ set(MICROPY_BOARD_BUILD_NAME ${MICROPY_BOARD}-${MICROPY_BOARD_VARIANT})
+ else()
+ set(MICROPY_BOARD_BUILD_NAME ${MICROPY_BOARD})
+ endif()
+
+ target_compile_definitions(${MICROPY_TARGET} PRIVATE
+ MICROPY_BOARD_BUILD_NAME="${MICROPY_BOARD_BUILD_NAME}"
+ )
+endif()
+
# Need to do this before extracting MICROPY_CPP_DEF below. Rest of frozen
# manifest handling is at the end of this file.
if(MICROPY_FROZEN_MANIFEST)