From 17fa5f77d503b86faefc5caf8d47aa9626a11dd7 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Sun, 23 Jun 2019 21:23:19 +0300 Subject: [PATCH] Fix LDF recursive behaviour --- platformio/builder/tools/piolib.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/platformio/builder/tools/piolib.py b/platformio/builder/tools/piolib.py index 9d8f5ecc..5593e328 100644 --- a/platformio/builder/tools/piolib.py +++ b/platformio/builder/tools/piolib.py @@ -281,7 +281,8 @@ class LibBuilderBase(object): if item['name'] != lb.name: continue found = True - self.depend_recursive(lb) + if lb not in self.depbuilders: + self.depend_recursive(lb) break if not found and self.verbose: @@ -363,8 +364,6 @@ class LibBuilderBase(object): return result def depend_recursive(self, lb, search_files=None): - if lb in self.depbuilders: - return def _already_depends(_lb): if self in _lb.depbuilders: @@ -892,7 +891,8 @@ class ProjectAsLibBuilder(LibBuilderBase): for lb in self.env.GetLibBuilders(): if lib_dir not in lb: continue - self.depend_recursive(lb) + if lb not in self.depbuilders: + self.depend_recursive(lb) found = True break if found: @@ -903,7 +903,8 @@ class ProjectAsLibBuilder(LibBuilderBase): for lb in self.env.GetLibBuilders(): if lb.name != uri: continue - self.depend_recursive(lb) + if lb not in self.depbuilders: + self.depend_recursive(lb) found = True break