From 6ee9cc04fbdeac8786dbd8c976ae6fccc523facd Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 20 Apr 2023 22:29:00 +0300 Subject: [PATCH] Minor SCons optimizations --- platformio/builder/main.py | 8 +++----- platformio/builder/tools/piolib.py | 3 ++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/platformio/builder/main.py b/platformio/builder/main.py index e73489d5..05470451 100644 --- a/platformio/builder/main.py +++ b/platformio/builder/main.py @@ -99,6 +99,7 @@ if not int(ARGUMENTS.get("PIOVERBOSE", 0)): DEFAULT_ENV_OPTIONS["%sSTR" % name] = "%s $TARGET" % (value) env = DefaultEnvironment(**DEFAULT_ENV_OPTIONS) +env.SConscriptChdir(False) # Load variables from CLI env.Replace( @@ -157,7 +158,6 @@ if not os.path.isdir(env.subst("$BUILD_DIR")): env.LoadProjectOptions() env.LoadPioPlatform() -env.SConscriptChdir(0) env.SConsignFile( os.path.join( "$BUILD_CACHE_DIR" if env.subst("$BUILD_CACHE_DIR") else "$BUILD_DIR", @@ -165,8 +165,7 @@ env.SConsignFile( ) ) -for item in env.GetExtraScripts("pre"): - env.SConscript(item, exports="env") +env.SConscript(env.GetExtraScripts("pre"), exports="env") if env.IsCleanTarget(): env.CleanProject("cleanall" in COMMAND_LINE_TARGETS) @@ -179,8 +178,7 @@ if "UPLOAD_FLAGS" in env: if env.GetProjectOption("upload_command"): env.Replace(UPLOADCMD=env.GetProjectOption("upload_command")) -for item in env.GetExtraScripts("post"): - env.SConscript(item, exports="env") +env.SConscript(env.GetExtraScripts("post"), exports="env") ############################################################################## diff --git a/platformio/builder/tools/piolib.py b/platformio/builder/tools/piolib.py index 02d47ea6..16aab05e 100644 --- a/platformio/builder/tools/piolib.py +++ b/platformio/builder/tools/piolib.py @@ -297,11 +297,12 @@ class LibBuilderBase: with fs.cd(self.path): self.env.ProcessFlags(self.build_flags) if self.extra_script: - self.env.SConscriptChdir(1) + self.env.SConscriptChdir(True) self.env.SConscript( os.path.abspath(self.extra_script), exports={"env": self.env, "pio_lib_builder": self}, ) + self.env.SConscriptChdir(False) self.env.ProcessUnFlags(self.build_unflags) def process_dependencies(self):