components: correct dependency information for linking without link groups

This commit is contained in:
Renz Christian Bagaporo 2019-04-28 11:27:30 +08:00
parent 83ce35d638
commit 2c12080049
5 changed files with 43 additions and 29 deletions

View file

@ -9,8 +9,8 @@ set(COMPONENT_SRCS "src/bootloader_clock.c"
if(BOOTLOADER_BUILD)
set(COMPONENT_ADD_INCLUDEDIRS "include include_bootloader")
set(COMPONENT_REQUIRES soc) #unfortunately the header directly uses SOC registers
set(COMPONENT_PRIV_REQUIRES spi_flash micro-ecc efuse)
set(COMPONENT_REQUIRES spi_flash soc) #unfortunately the header directly uses SOC registers
set(COMPONENT_PRIV_REQUIRES micro-ecc efuse)
list(APPEND COMPONENT_SRCS "src/bootloader_init.c"
"src/${IDF_TARGET}/bootloader_sha.c"
"src/${IDF_TARGET}/flash_encrypt.c"

View file

@ -8,8 +8,8 @@ set(COMPONENT_SRCS
"src/wifi_init.c")
set(COMPONENT_ADD_INCLUDEDIRS "include")
set(COMPONENT_PRIV_INCLUDEDIRS)
set(COMPONENT_REQUIRES)
set(COMPONENT_PRIV_REQUIRES "wpa_supplicant" "nvs_flash")
set(COMPONENT_REQUIRES wpa_supplicant smartconfig_ack)
set(COMPONENT_PRIV_REQUIRES "nvs_flash")
if(NOT CONFIG_ESP32_NO_BLOBS)
set(COMPONENT_ADD_LDFRAGMENTS "linker.lf")
@ -19,8 +19,20 @@ register_component()
target_link_libraries(${COMPONENT_LIB} "-L ${CMAKE_CURRENT_SOURCE_DIR}/lib_${IDF_TARGET}")
if(NOT CONFIG_ESP32_NO_BLOBS)
target_link_libraries(${COMPONENT_LIB} "-L ${CMAKE_CURRENT_SOURCE_DIR}/lib_${IDF_TARGET}")
target_link_libraries(${COMPONENT_LIB} coexist core espnow mesh net80211 phy pp rtc smartconfig wpa2 wpa wps)
set(blobs coexist core espnow mesh net80211 phy pp rtc smartconfig wpa2 wpa wps)
foreach(blob ${blobs})
add_library(${blob} STATIC IMPORTED)
set_property(TARGET ${blob} PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/lib_${IDF_TARGET}/lib${blob}.a)
target_link_libraries(${COMPONENT_LIB} ${blob})
foreach(_blob ${blobs})
if(NOT _blob STREQUAL ${blob})
set_property(TARGET ${blob} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${_blob})
endif()
endforeach()
set_property(TARGET ${blob} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${COMPONENT_LIB})
endforeach()
endif()
if(CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION)

View file

@ -12,16 +12,7 @@ set(COMPONENT_SRCS "heap.c"
"utime.c")
set(COMPONENT_ADD_INCLUDEDIRS platform_include)
if(GCC_NOT_5_2_0)
if(CONFIG_NEWLIB_NANO_FORMAT)
set(LIBC c_nano)
else()
set(LIBC c)
endif()
set(LIBM m)
if(CONFIG_SPIRAM_CACHE_WORKAROUND)
set(COMPONENT_ADD_LDFRAGMENTS esp32-spiram-rom-functions-c.lf)
endif()
@ -31,7 +22,6 @@ if(GCC_NOT_5_2_0)
set(EXTRA_LINK_FLAGS "-u newlib_include_locks_impl")
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_heap_impl")
list(APPEND EXTRA_LINK_FLAGS "-u newlib_include_syscalls_impl")
else()
# Remove this section when GCC 5.2.0 is no longer supported
# 'include' and 'lib' directories should also be removed.
@ -40,21 +30,10 @@ else()
set(LIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
if(CONFIG_SPIRAM_CACHE_WORKAROUND)
set(LIBC c-psram-workaround)
set(LIBM m-psram-workaround)
set(COMPONENT_ADD_LDFRAGMENTS esp32-spiram-rom-functions-psram-workaround.lf)
else()
if(CONFIG_NEWLIB_NANO_FORMAT)
set(LIBC c_nano)
else()
set(LIBC c)
endif()
set(LIBM m)
endif()
endif()
set(COMPONENT_REQUIRES vfs) # for sys/ioctl.h
set(COMPONENT_PRIV_REQUIRES soc)

View file

@ -0,0 +1,22 @@
if(GCC_NOT_5_2_0)
if(CONFIG_NEWLIB_NANO_FORMAT)
set(LIBC c_nano)
else()
set(LIBC c)
endif()
set(LIBM m)
else()
if(CONFIG_SPIRAM_CACHE_WORKAROUND)
set(LIBC c-psram-workaround)
set(LIBM m-psram-workaround)
else()
if(CONFIG_NEWLIB_NANO_FORMAT)
set(LIBC c_nano)
else()
set(LIBC c)
endif()
set(LIBM m)
endif()
endif()

View file

@ -12,7 +12,8 @@ set(COMPONENT_SRCS "src/common/protocomm.c"
"src/transports/protocomm_console.c"
"src/transports/protocomm_httpd.c")
set(COMPONENT_PRIV_REQUIRES protobuf-c mbedtls console esp_http_server bt)
set(COMPONENT_REQUIRES protobuf-c bt)
set(COMPONENT_PRIV_REQUIRES mbedtls console esp_http_server)
if(CONFIG_BT_ENABLED)
if(CONFIG_BT_BLUEDROID_ENABLED)