fix(espidf): include non-utility subdirs for libs without src/ layout
The _should_include filter inside _merge_arduino_libs_to_component rejected every subdirectory of a library except 'utility/' when the library lacked a src/ layout. That blocked legitimate header dirs like Adafruit_GFX_Library/Fonts/, breaking compiles that use any GxEPD2 example with a custom font (#include <Fonts/FreeMonoBold12pt7b.h>). The earlier filter at the top of the function already excludes docs/examples/tests/etc. via excluded_dirs, so anything that survives that check is presumed to be buildable source. Letting all remaining subdirs through restores Fonts/, gfxfont/, and similar conventional auxiliary header directories that Adafruit-style libs rely on. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
71e90f9b90
commit
156d89c61d
|
|
@ -473,7 +473,11 @@ class ESPIDFCompiler:
|
|||
return False
|
||||
if has_src_layout:
|
||||
return parts[0] == 'src' or len(parts) == 1
|
||||
return len(parts) == 1 or parts[0].lower() == 'utility'
|
||||
# Non-src-layout libs (Adafruit_GFX, etc.) keep auxiliary
|
||||
# headers in subdirs like Fonts/ or gfxfont/. Anything not
|
||||
# already excluded (docs/examples/tests handled above) is
|
||||
# presumed to be buildable source.
|
||||
return True
|
||||
|
||||
for f in lib_root.rglob('*'):
|
||||
if not f.is_file():
|
||||
|
|
|
|||
Loading…
Reference in New Issue