mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
5c383d7b73
Fix dependency tree so that lwip doesn't depend on any specific network interface component. Network interface drivers shall depend on esp_netif. esp_netif shall depend on lwip (but not on any specific interface driver) -- it optionally depends on vfs and esp_eth (need ethernet header for L2/bridge mode)
57 lines
1.3 KiB
CMake
57 lines
1.3 KiB
CMake
idf_build_get_property(target IDF_TARGET)
|
|
|
|
if(${target} STREQUAL "linux")
|
|
# Header only library for linux
|
|
idf_component_register(INCLUDE_DIRS include)
|
|
return()
|
|
endif()
|
|
|
|
set(srcs
|
|
"esp_netif_handlers.c"
|
|
"esp_netif_objects.c"
|
|
"esp_netif_defaults.c"
|
|
"lwip/esp_netif_lwip.c"
|
|
"lwip/esp_netif_lwip_defaults.c"
|
|
"lwip/netif/wlanif.c"
|
|
"lwip/netif/ethernetif.c"
|
|
"lwip/netif/esp_pbuf_ref.c" )
|
|
|
|
set(include_dirs "include")
|
|
set(priv_include_dirs "lwip" "private_include")
|
|
|
|
if(CONFIG_LWIP_SLIP_SUPPORT)
|
|
list(APPEND srcs
|
|
"lwip/esp_netif_lwip_slip.c")
|
|
endif()
|
|
|
|
if(CONFIG_PPP_SUPPORT)
|
|
list(APPEND srcs
|
|
"lwip/esp_netif_lwip_ppp.c")
|
|
endif()
|
|
|
|
if(CONFIG_LWIP_NETIF_LOOPBACK)
|
|
list(APPEND srcs
|
|
"loopback/esp_netif_loopback.c")
|
|
endif()
|
|
|
|
if(CONFIG_ESP_NETIF_L2_TAP)
|
|
list(APPEND srcs
|
|
"vfs_l2tap/esp_vfs_l2tap.c")
|
|
endif()
|
|
|
|
if(CONFIG_ESP_NETIF_BRIDGE_EN)
|
|
list(APPEND srcs
|
|
"lwip/esp_netif_br_glue.c")
|
|
endif()
|
|
|
|
idf_component_register(SRCS "${srcs}"
|
|
INCLUDE_DIRS "${include_dirs}"
|
|
PRIV_INCLUDE_DIRS "${priv_include_dirs}"
|
|
REQUIRES esp_event
|
|
PRIV_REQUIRES lwip
|
|
LDFRAGMENTS linker.lf)
|
|
|
|
if(CONFIG_ESP_NETIF_L2_TAP OR CONFIG_ESP_NETIF_BRIDGE_EN)
|
|
idf_component_optional_requires(PRIVATE esp_eth vfs)
|
|
endif()
|