From 4bc3408410690413ba8fc846cd2331a18b8d2710 Mon Sep 17 00:00:00 2001 From: Will Miles Date: Fri, 31 Jan 2025 01:35:58 +0000 Subject: [PATCH] load_usermods: Don't cross usermod includes Only include paths for the base system deps, not those of other usermods. --- pio-scripts/load_usermods.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pio-scripts/load_usermods.py b/pio-scripts/load_usermods.py index 743e5f4ad..d1016e5ed 100644 --- a/pio-scripts/load_usermods.py +++ b/pio-scripts/load_usermods.py @@ -68,8 +68,10 @@ def cached_add_includes(dep, dep_cache: set, includes: deque): for include in dep.get_include_dirs(): if include not in includes: includes.appendleft(include) - for subdep in dep.depbuilders: - cached_add_includes(subdep, dep_cache, includes) + if usermod_dir not in Path(dep.src_dir).parents: + # Recurse, but only for NON-usermods + for subdep in dep.depbuilders: + cached_add_includes(subdep, dep_cache, includes) # Monkey-patch ConfigureProjectLibBuilder to mark up the dependencies # Save the old value