[core] Update PIO builders to new structure

This commit is contained in:
Kuba Szczodrzyński
2023-02-26 22:04:18 +01:00
parent 8bbc7e13fb
commit 3413d70210
40 changed files with 814 additions and 769 deletions

View File

@@ -2,31 +2,27 @@
import sys
from SCons.Script import Default, DefaultEnvironment
from platformio.platform.board import PlatformBoardConfig
from SCons.Script import Default, DefaultEnvironment, Environment
env = DefaultEnvironment()
platform = env.PioPlatform()
board = env.BoardConfig()
# Make tools available
sys.path.insert(0, platform.get_dir())
env: Environment = DefaultEnvironment()
board: PlatformBoardConfig = env.BoardConfig()
# Utilities
env.SConscript("utils/config.py", exports="env")
env.SConscript("utils/cores.py", exports="env")
env.SConscript("utils/env.py", exports="env")
env.SConscript("utils/flash.py", exports="env")
env.SConscript("utils/libs-external.py", exports="env")
env.SConscript("utils/libs.py", exports="env")
env.SConscript("utils/ltchiptool.py", exports="env")
# Vendor-specific library ports
env.SConscript("libs/flashdb.py", exports="env")
env.SConscript("libs/lwip.py", exports="env")
env.SConscript("libs/printf.py", exports="env")
# Firmware name
if env.get("PROGNAME", "program") == "program":
env.Replace(PROGNAME="firmware")
env.Replace(PROGSUFFIX=".elf")
# Configure the toolchain
prefix = board.get("build.prefix", "")
env.Replace(
AR=prefix + "gcc-ar",
@@ -42,11 +38,6 @@ env.Replace(
SIZETOOL=prefix + "size",
)
# Default environment options
env.AddDefaults(platform, board)
# Flash layout defines
env.AddFlashLayout(board)
# Family builders details:
# - call env.AddLibrary("lib name", "base dir", [sources]) to add lib sources
# - call env.BuildLibraries() to build lib targets with safe envs
@@ -63,6 +54,7 @@ env.AddFlashLayout(board)
# - env.BuildLibraries()
# - # Main firmware outputs and actions
# Framework builder (base.py/arduino.py) is executed in BuildProgram()
target_elf = env.BuildProgram()
targets = [target_elf]