esp-idf/tools/cmake
Ivan Grokhotkov 47659be5b8
build system: remove lwip from common requirements
lwip was added to common requirements list to provide "sys/socket.h"
header to all components without additional requirements specified.

However, lwip pulls in a lot of dependencies on other components.
This commit removes lwip from common requirements to reduce the number
of components in G1-only apps.

To compensate for this removal, the following changes are made:
- newlib (which is a common requirement) has a public dependency on
  lwip if lwip is present in the build. This ensures that sys/socket.h
  is available as long as lwip component is included into the build.
- lwip is now a public requirement of esp-tls since esp_tls.h includes
  sys/socket.h header.
- lwip is now a public requirement o esp_http_client because
  sys/socket.h is included from esp_http_client.h
- lwip is now a private requirement of esp_wifi for "smartconfig_ack"
- lwip is now a private requirement of mqtt for socket functions
- lwip is now a public requirement of tcp_transport because
  esp_transport_tcp.h includes sys/socket.h header.
- mbedtls checks if lwip component is present in the build. If yes,
  net_sockets.c is added to the build, along with the dependency on
  lwip. Previously lwip was a public requirement of mbedtls
  unconditionally.

system/g1_components test app is updated to reflect the changes

Default public dependencies of a component before and after this
change, except common requirements:

- esp_timer (public dependency of freertos)
- bootloader_support (public dependency of esp_hw_support)
- vfs (public dependency of lwip)
- esp_wifi (public dependency of lwip)
- esp_event (public dependency of esp_wifi)
- esp_netif (public dependency of esp_event)
- esp_eth (public dependency of esp_netif)
- esp_phy (public dependency of esp_wifi)

After:

- esp_timer (public dependency of freertos)
- bootloader_support (public dependency of esp_hw_support)

Altogether, the following components have been always added as
public requirements to all other components, and are not added now
([breaking-change]):

- lwip
- vfs
- esp_wifi
- esp_event
- esp_netif
- esp_eth
- esp_phy

Application components now need to explicitly declare dependencies on
these components.
2022-05-02 20:47:17 +02:00
..
scripts build system: add WHOLE_ARCHIVE component property 2022-04-05 18:50:20 +02:00
third_party Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
build.cmake build system: remove lwip from common requirements 2022-05-02 20:47:17 +02:00
component.cmake build system: add WHOLE_ARCHIVE component property 2022-04-05 18:50:20 +02:00
component_deps.dot.in cmake: add component dependency graph generation helpers 2021-12-02 15:29:00 +01:00
crosstool_version_check.cmake tools: stop building if compiler is unsupported 2021-06-28 23:36:15 +08:00
depgraph.cmake cmake: add component dependency graph generation helpers 2021-12-02 15:29:00 +01:00
dfu.cmake esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
git_submodules.cmake CI: build system do not check submodule for CI 2019-12-08 20:32:10 +08:00
idf.cmake cmake: add component dependency graph generation helpers 2021-12-02 15:29:00 +01:00
kconfig.cmake kconfig: also parse target specific sdkconfig.rename.TARGET files 2022-01-31 11:36:08 +08:00
ldgen.cmake build system: fix quoting of fragments list passed to ldgen 2021-12-14 19:17:53 +01:00
project.cmake build system: add WHOLE_ARCHIVE component property 2022-04-05 18:50:20 +02:00
project_description.json.in cmake: using toolchain prefix determined by cmake itself 2022-01-10 10:06:09 +08:00
run_dfu_util.cmake Add ability to select a device for DFU flashing 2020-05-28 09:31:35 +02:00
targets.cmake cmake: don't search for toolchain files in component directory 2021-09-16 10:54:27 +02:00
toolchain-clang-esp32.cmake Build: fix idf_as_lib example not building 2022-01-06 03:17:29 +00:00
toolchain-clang-esp32s2.cmake Build: fix idf_as_lib example not building 2022-01-06 03:17:29 +00:00
toolchain-esp32.cmake cmake: assign toolchain prefix manually 2022-01-20 15:46:50 +08:00
toolchain-esp32c2.cmake cmake: assign toolchain prefix manually 2022-01-20 15:46:50 +08:00
toolchain-esp32c3.cmake cmake: assign toolchain prefix manually 2022-01-20 15:46:50 +08:00
toolchain-esp32h2.cmake cmake: assign toolchain prefix manually 2022-01-20 15:46:50 +08:00
toolchain-esp32s2.cmake cmake: assign toolchain prefix manually 2022-01-20 15:46:50 +08:00
toolchain-esp32s3.cmake cmake: assign toolchain prefix manually 2022-01-20 15:46:50 +08:00
toolchain-linux.cmake build system: don't add GCC-specific options when building with clang 2021-01-24 12:48:29 +01:00
uf2.cmake esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
utilities.cmake tools: Deprecated commands removed from idf.py 2022-03-25 09:08:53 +01:00
version.cmake version: starting v5.0.0 development 2021-10-20 22:25:38 +02:00