From 33ee71ef217629d6691ff00a519e926dc047049c Mon Sep 17 00:00:00 2001 From: David Montero Crespo Date: Wed, 19 Aug 2026 20:16:12 +0200 Subject: [PATCH] =?UTF-8?q?fix(espidf):=20shadow-exclude=20http=5Fparser.h?= =?UTF-8?q?=20=E2=80=94=20FastLED's=20copy=20hid=20the=20IDF=20enum=20head?= =?UTF-8?q?er?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit IDF's esp_http_server.h includes for the HTTP_GET/... method enums. FastLED ships fl/stl/asio/http/http_parser.h and the merge put that directory on the global -I, so the IDF include resolved to FastLED's file and every httpd_method_t use failed with 'HTTP_GET was not declared'. FastLED only references its copy path-qualified, so the directory can safely stay off -I. --- backend/app/services/espidf_compiler.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/backend/app/services/espidf_compiler.py b/backend/app/services/espidf_compiler.py index a00a3fc2..4c9c83d7 100644 --- a/backend/app/services/espidf_compiler.py +++ b/backend/app/services/espidf_compiler.py @@ -1268,6 +1268,13 @@ class ESPIDFCompiler: # the stub via the file-relative "platforms/stub/Arduino.h", which # still resolves with the directory off -I. 'arduino.h', + # Same story with an IDF component header: IDF's esp_http_server.h + # does #include (the http_parser component's enum + # with HTTP_GET/HTTP_POST/...). FastLED ships its own + # fl/stl/asio/http/http_parser.h and references it path-qualified + # only, so keep its directory off -I or the IDF include resolves to + # FastLED's file and every httpd_method_t use fails to compile. + 'http_parser.h', }) # arduino-esp32 uses a single library architecture id ("esp32") across