[FL-2554] Embedded arm-none-eabi toolchain (#1351)

This commit is contained in:
Max Andreev
2022-07-14 19:24:26 +03:00
committed by GitHub
parent dbf1d9f332
commit fd498bdfcf
17 changed files with 332 additions and 35 deletions

View File

@@ -1,3 +1,4 @@
from SCons.Errors import StopError
from SCons.Tool import asm
from SCons.Tool import gcc
from SCons.Tool import gxx
@@ -65,7 +66,7 @@ def generate(env, **kw):
# print("CC version =", cc_version)
# print(list(filter(lambda v: v in cc_version, whitelisted_versions)))
if not any(filter(lambda v: v in cc_version, whitelisted_versions)):
raise Exception(
raise StopError(
f"Toolchain version is not supported. Allowed: {whitelisted_versions}, toolchain: {cc_version} "
)

View File

@@ -1,8 +1,14 @@
from SCons.Builder import Builder
from SCons.Action import Action
from SCons.Errors import UserError
import SCons
from fbt.appmanifest import FlipperAppType, AppManager, ApplicationsCGenerator
from fbt.appmanifest import (
FlipperAppType,
AppManager,
ApplicationsCGenerator,
FlipperManifestException,
)
# Adding objects for application management to env
# AppManager env["APPMGR"] - loads all manifests; manages list of known apps
@@ -13,7 +19,10 @@ def LoadApplicationManifests(env):
appmgr = env["APPMGR"] = AppManager()
for entry in env.Glob("#/applications/*"):
if isinstance(entry, SCons.Node.FS.Dir) and not str(entry).startswith("."):
appmgr.load_manifest(entry.File("application.fam").abspath, entry.name)
try:
appmgr.load_manifest(entry.File("application.fam").abspath, entry.name)
except FlipperManifestException as e:
raise UserError(e)
def PrepareApplicationsBuild(env):