Minor SCons optimizations

This commit is contained in:
Ivan Kravets
2023-04-20 22:29:00 +03:00
parent a0c959be28
commit 6ee9cc04fb
2 changed files with 5 additions and 6 deletions

View File

@ -99,6 +99,7 @@ if not int(ARGUMENTS.get("PIOVERBOSE", 0)):
DEFAULT_ENV_OPTIONS["%sSTR" % name] = "%s $TARGET" % (value) DEFAULT_ENV_OPTIONS["%sSTR" % name] = "%s $TARGET" % (value)
env = DefaultEnvironment(**DEFAULT_ENV_OPTIONS) env = DefaultEnvironment(**DEFAULT_ENV_OPTIONS)
env.SConscriptChdir(False)
# Load variables from CLI # Load variables from CLI
env.Replace( env.Replace(
@ -157,7 +158,6 @@ if not os.path.isdir(env.subst("$BUILD_DIR")):
env.LoadProjectOptions() env.LoadProjectOptions()
env.LoadPioPlatform() env.LoadPioPlatform()
env.SConscriptChdir(0)
env.SConsignFile( env.SConsignFile(
os.path.join( os.path.join(
"$BUILD_CACHE_DIR" if env.subst("$BUILD_CACHE_DIR") else "$BUILD_DIR", "$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(env.GetExtraScripts("pre"), exports="env")
env.SConscript(item, exports="env")
if env.IsCleanTarget(): if env.IsCleanTarget():
env.CleanProject("cleanall" in COMMAND_LINE_TARGETS) env.CleanProject("cleanall" in COMMAND_LINE_TARGETS)
@ -179,8 +178,7 @@ if "UPLOAD_FLAGS" in env:
if env.GetProjectOption("upload_command"): if env.GetProjectOption("upload_command"):
env.Replace(UPLOADCMD=env.GetProjectOption("upload_command")) env.Replace(UPLOADCMD=env.GetProjectOption("upload_command"))
for item in env.GetExtraScripts("post"): env.SConscript(env.GetExtraScripts("post"), exports="env")
env.SConscript(item, exports="env")
############################################################################## ##############################################################################

View File

@ -297,11 +297,12 @@ class LibBuilderBase:
with fs.cd(self.path): with fs.cd(self.path):
self.env.ProcessFlags(self.build_flags) self.env.ProcessFlags(self.build_flags)
if self.extra_script: if self.extra_script:
self.env.SConscriptChdir(1) self.env.SConscriptChdir(True)
self.env.SConscript( self.env.SConscript(
os.path.abspath(self.extra_script), os.path.abspath(self.extra_script),
exports={"env": self.env, "pio_lib_builder": self}, exports={"env": self.env, "pio_lib_builder": self},
) )
self.env.SConscriptChdir(False)
self.env.ProcessUnFlags(self.build_unflags) self.env.ProcessUnFlags(self.build_unflags)
def process_dependencies(self): def process_dependencies(self):