# Internal Cargo <-> PlatformIO integration script (autogenerated by cargo-pio)
import os
import sys
import json
Import("projenv")
global_env = DefaultEnvironment()
def action_dump(source, target, env):
board_mcu = env.get("BOARD_MCU")
if not board_mcu and "BOARD" in env:
board_mcu = env.BoardConfig().get("build.mcu")
data = {
"project_dir": env.subst("$PROJECT_DIR"),
"release_build": env.GetProjectOption("build_type", default = "release") == "release",
"path": env["ENV"]["PATH"],
"incflags": env.subst("$_CPPINCFLAGS"),
"libflags": env.subst("$_LIBFLAGS"),
"libdirflags": env.subst("$_LIBDIRFLAGS"),
"libs": env.subst("$LIBS"),
"linkflags": env.subst("$LINKFLAGS"),
"link": env.subst("$LINK"),
"linkcom": env.subst("$LINKCOM"),
"mcu": board_mcu,
"pio_platform_dir": env.PioPlatform().get_dir()[0],
"pio_framework_dir": env.PioPlatform().get_package_dir("framework-" + env.GetProjectOption("framework")[0])
}
with open(os.path.join(env.subst("$PROJECT_DIR"), "__pio_scons_dump.json"), "w") as file:
json.dump(data, file)
if projenv.GetProjectOption("quick_dump", default = "false").lower() == "true":
action_dump(None, None, projenv)
else:
global_env.AddPreAction(os.path.join("$BUILD_DIR", "$PROGNAME$PROGSUFFIX"), action_dump)