esp32: Use better build settings for ESP32-C3.
ESP32-C3 is not Xtensa-based, so build settings are now tailored a bit
better following that fact. ESP-IDF 5.x already adds architecture-specific
modules by itself so there is no need to specify either the `xtensa` or the
`riscv` module in the build settings.
Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
diff --git a/ports/esp32/esp32_common.cmake b/ports/esp32/esp32_common.cmake
index 8b3dac5..f66c59e 100644
--- a/ports/esp32/esp32_common.cmake
+++ b/ports/esp32/esp32_common.cmake
@@ -134,7 +134,6 @@
spi_flash
ulp
vfs
- xtensa
)
# Register the main IDF component.
@@ -161,7 +160,9 @@
set(MICROPY_TARGET ${COMPONENT_TARGET})
# Define mpy-cross flags, for use with frozen code.
+if(NOT IDF_TARGET STREQUAL "esp32c3")
set(MICROPY_CROSS_FLAGS -march=xtensawin)
+endif()
# Set compile options for this port.
target_compile_definitions(${MICROPY_TARGET} PUBLIC
diff --git a/ports/esp32/main_esp32c3/CMakeLists.txt b/ports/esp32/main_esp32c3/CMakeLists.txt
index 307c0f3..c9f1e5b 100644
--- a/ports/esp32/main_esp32c3/CMakeLists.txt
+++ b/ports/esp32/main_esp32c3/CMakeLists.txt
@@ -9,6 +9,5 @@
endif()
list(APPEND MICROPY_SOURCE_LIB ${MICROPY_DIR}/shared/runtime/gchelper_generic.c)
-list(APPEND IDF_COMPONENTS riscv)
include(${MICROPY_PORT_DIR}/esp32_common.cmake)
diff --git a/py/mkrules.cmake b/py/mkrules.cmake
index 6415b54..7622cd9 100644
--- a/py/mkrules.cmake
+++ b/py/mkrules.cmake
@@ -212,10 +212,16 @@
)
endif()
+ if(NOT MICROPY_CROSS_FLAGS)
+ set(MICROPY_CROSS_FLAGS "")
+ else()
+ set(MICROPY_CROSS_FLAGS "-f${MICROPY_CROSS_FLAGS}")
+ endif()
+
add_custom_target(
BUILD_FROZEN_CONTENT ALL
BYPRODUCTS ${MICROPY_FROZEN_CONTENT}
- COMMAND ${Python3_EXECUTABLE} ${MICROPY_DIR}/tools/makemanifest.py -o ${MICROPY_FROZEN_CONTENT} -v "MPY_DIR=${MICROPY_DIR}" -v "MPY_LIB_DIR=${MICROPY_LIB_DIR}" -v "PORT_DIR=${MICROPY_PORT_DIR}" -v "BOARD_DIR=${MICROPY_BOARD_DIR}" -b "${CMAKE_BINARY_DIR}" -f${MICROPY_CROSS_FLAGS} --mpy-tool-flags=${MICROPY_MPY_TOOL_FLAGS} ${MICROPY_FROZEN_MANIFEST}
+ COMMAND ${Python3_EXECUTABLE} ${MICROPY_DIR}/tools/makemanifest.py -o ${MICROPY_FROZEN_CONTENT} -v "MPY_DIR=${MICROPY_DIR}" -v "MPY_LIB_DIR=${MICROPY_LIB_DIR}" -v "PORT_DIR=${MICROPY_PORT_DIR}" -v "BOARD_DIR=${MICROPY_BOARD_DIR}" -b "${CMAKE_BINARY_DIR}" ${MICROPY_CROSS_FLAGS} --mpy-tool-flags=${MICROPY_MPY_TOOL_FLAGS} ${MICROPY_FROZEN_MANIFEST}
DEPENDS
${MICROPY_QSTRDEFS_GENERATED}
${MICROPY_ROOT_POINTERS}