Skip to content

Commit

Permalink
extmod/extmod.cmake: Require components to be explicitly enabled.
Browse files Browse the repository at this point in the history
Otherwise include directories are added unconditionally to the build
variables if the component (submodule) is checked out.  This can lead to,
eg, the esp32 build using lib/lwip header files, instead of lwip header
files from the IDF.

Fixes issue #8727.

Signed-off-by: Damien George <damien@micropython.org>
  • Loading branch information
dpgeorge committed Jun 8, 2022
1 parent e8e8c7c commit bd375df
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 8 deletions.
16 changes: 8 additions & 8 deletions extmod/extmod.cmake
Expand Up @@ -54,9 +54,9 @@ set(MICROPY_SOURCE_EXTMOD

# Library for btree module and associated code

set(MICROPY_LIB_BERKELEY_DIR "${MICROPY_DIR}/lib/berkeley-db-1.xx")
if(MICROPY_PY_BTREE)
set(MICROPY_LIB_BERKELEY_DIR "${MICROPY_DIR}/lib/berkeley-db-1.xx")

if(EXISTS "${MICROPY_LIB_BERKELEY_DIR}/btree/bt_close.c")
add_library(micropy_extmod_btree OBJECT
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_close.c
${MICROPY_LIB_BERKELEY_DIR}/btree/bt_conv.c
Expand Down Expand Up @@ -100,11 +100,11 @@ endif()

# Library for mbedtls

set(MICROPY_LIB_MBEDTLS_DIR "${MICROPY_DIR}/lib/mbedtls")

if(EXISTS "${MICROPY_LIB_MBEDTLS_DIR}/library/aes.c")
if(MICROPY_SSL_MBEDTLS)
add_library(micropy_lib_mbedtls INTERFACE)

set(MICROPY_LIB_MBEDTLS_DIR "${MICROPY_DIR}/lib/mbedtls")

target_include_directories(micropy_lib_mbedtls INTERFACE
${MICROPY_LIB_MBEDTLS_DIR}/include
)
Expand Down Expand Up @@ -194,11 +194,11 @@ endif()

# Library for lwIP network stack

set(MICROPY_LIB_LWIP_DIR "${MICROPY_DIR}/lib/lwip/src")

if(EXISTS "${MICROPY_LIB_LWIP_DIR}/core/def.c")
if(MICROPY_PY_LWIP)
add_library(micropy_lib_lwip INTERFACE)

set(MICROPY_LIB_LWIP_DIR "${MICROPY_DIR}/lib/lwip/src")

target_include_directories(micropy_lib_lwip INTERFACE
${MICROPY_LIB_LWIP_DIR}/include
)
Expand Down
4 changes: 4 additions & 0 deletions ports/esp32/main/CMakeLists.txt
Expand Up @@ -7,6 +7,10 @@ endif()
include(${MICROPY_DIR}/py/py.cmake)

if(NOT CMAKE_BUILD_EARLY_EXPANSION)
# Enable extmod components that will be configured by extmod.cmake.
# A board may also have enabled additional components.
set(MICROPY_PY_BTREE ON)

include(${MICROPY_DIR}/py/usermod.cmake)
include(${MICROPY_DIR}/extmod/extmod.cmake)
endif()
Expand Down
4 changes: 4 additions & 0 deletions ports/rp2/CMakeLists.txt
Expand Up @@ -43,6 +43,10 @@ if(NOT PICO_BOARD)
string(TOLOWER ${MICROPY_BOARD} PICO_BOARD)
endif()

# Enable extmod components that will be configured by extmod.cmake.
# A board may also have enabled additional components.
set(MICROPY_SSL_MBEDTLS ON)

# Include component cmake fragments
include(${MICROPY_DIR}/py/py.cmake)
include(${MICROPY_DIR}/extmod/extmod.cmake)
Expand Down

0 comments on commit bd375df

Please sign in to comment.