esp-idf/components/newlib
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
..
platform_include newlib: fix ESHUTDOWN and ENOTSOCK having the same numerical value 2022-04-18 12:10:30 +02:00
port esp_timer: remove legacy ESP32 FRC timer implementation. 2022-02-10 15:17:49 +08:00
priv_include Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
test global: add dependency on esp_timer component and include esp_timer.h 2022-04-25 18:39:23 +02:00
test_apps ci: replace all component ut with pytest-embedded 2022-01-24 16:37:23 +08:00
.gitignore Initial public version 2016-08-17 23:08:22 +08:00
.gitmodules Initial public version 2016-08-17 23:08:22 +08:00
abort.c global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
assert.c newlib: Override __assert and __assert_func 2021-08-05 11:09:22 +05:30
CMakeLists.txt build system: remove lwip from common requirements 2022-05-02 20:47:17 +02:00
COPYING.NEWLIB Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
esp32-spiram-rom-functions-c.lf psram: add configuration macros to move workaround libc functions to flash 2021-06-23 17:40:02 +08:00
heap.c newlib: implement posix_memalign, sysconf, realpath 2021-12-13 14:40:21 +01:00
Kconfig soc: moved kconfig options out of the target component. 2022-04-21 12:09:43 +08:00
locks.c freertos: Remove legacy data types 2022-02-09 23:05:45 +08:00
newlib_init.c spi_flash, newlib: fix NULL pointer dereference on OOM 2022-03-14 18:16:42 +01:00
newlib.lf newlib: Override __assert and __assert_func 2021-08-05 11:09:22 +05:30
poll.c global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
pthread.c Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
random.c esp_hw_support/esp_system: Re-evaluate header inclusions and include directories 2022-03-07 11:18:08 +05:30
realpath.c newlib: implement posix_memalign, sysconf, realpath 2021-12-13 14:40:21 +01:00
reent_init.c global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
sdkconfig.rename.esp32 soc: moved kconfig options out of the target component. 2022-04-21 12:09:43 +08:00
sdkconfig.rename.esp32c3 soc: moved kconfig options out of the target component. 2022-04-21 12:09:43 +08:00
sdkconfig.rename.esp32h2 soc: moved kconfig options out of the target component. 2022-04-21 12:09:43 +08:00
sdkconfig.rename.esp32s2 soc: moved kconfig options out of the target component. 2022-04-21 12:09:43 +08:00
sdkconfig.rename.esp32s3 soc: moved kconfig options out of the target component. 2022-04-21 12:09:43 +08:00
stdatomic.c newlib: stdatomic: fix conflicting types for atomic built-in functions 2022-03-02 16:22:45 +07:00
syscalls.c Merge branch 'feature/clang_toolchain_compat' into 'master' 2021-09-23 08:19:09 +00:00
sysconf.c newlib: implement posix_memalign, sysconf, realpath 2021-12-13 14:40:21 +01:00
system_libs.lf build system: add COMPILER_SAVE_RESTORE_LIBCALLS option 2021-10-07 15:01:35 +08:00
termios.c VFS: Fix Kconfig prefix 2019-07-02 17:17:18 +02:00
time.c newlib: auto-detect sizeof(time_t) 2022-01-11 19:01:21 +01:00