-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disable dependency finder on ESP32 #2435
Conversation
The platform.io LDF (library dependeny finder) adds libraries based on header file names. However, this at times causes spurious dependency to be added to the dependency graph. If a library can't be compiled for a certain configuration, this blocks certain configurations which would be buildable otherwise. Disable the LDF by default for ESP32 targets. Add required libraries directly to modules.
Hey there @OttoWinter, mind taking a look at this pull request as it has been labeled with an integration ( |
Hey there @OttoWinter, mind taking a look at this pull request as it has been labeled with an integration ( |
Hey there @esphome/core, mind taking a look at this pull request as it has been labeled with an integration ( |
Hey there @esphome/core, mind taking a look at this pull request as it has been labeled with an integration ( |
I tested this also with Arduino 2.0.0/ESP32-C3 configurations, where the |
Nice! Good that disabling ldf works now :) Looks like and airthings_wave_plus and spi |
Hey there @esphome/core, mind taking a look at this pull request as it has been labeled with an integration ( |
Hey there @jeromelaban, mind taking a look at this pull request as it has been labeled with an integration ( |
Hey there @esphome/core, mind taking a look at this pull request as it has been labeled with an integration ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Breaking Change
This change only affects custom components.
Before 2021.10, platformio would automatically look for libraries based on the
#include
s in your custom code.That had to be disabled because it was causing issues.
When you use a library (even internal ones like
Wire
), you now need to explicitly put them in theesphome
section like thisMore information here: esphome/issues#2587
What does this implement/fix?
The platform.io LDF (library dependeny finder) adds libraries based on
header file names. However, this at times causes spurious dependency to
be added to the dependency graph. If a library can't be compiled for a
certain configuration, this blocks certain configurations which would
be buildable otherwise.
Disable the LDF by default for ESP32 targets. Add required libraries
directly to modules.
More information about the LDF:
https://docs.platformio.org/en/latest/librarymanager/ldf.html#ldf-mode
Types of changes
Related issue or feature (if applicable): fixes esphome/issues#2474
Pull request in esphome-docs with documentation (if applicable): esphome/esphome-docs#
Test Environment
Example entry for
config.yaml
:# Example config.yaml
Checklist:
tests/
folder).If user exposed functionality or configuration variables are added/changed: