flipperzero-firmware/lib/toolbox/SConscript
SG b9a766d909 [FL-2627] Flipper applications: SDK, build and debug system (#1387)
* Added support for running applications from SD card (FAPs - Flipper Application Packages)
* Added plugin_dist target for fbt to build FAPs
* All apps of type FlipperAppType.EXTERNAL and FlipperAppType.PLUGIN are built as FAPs by default
* Updated VSCode configuration for new fbt features - re-deploy stock configuration to use them
* Added debugging support for FAPs with fbt debug & VSCode
* Added public firmware API with automated versioning

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-09-15 02:21:03 +09:00

66 lines
1.7 KiB
Python

Import("env")
from fbt.version import get_fast_git_version_id
env.Append(
CPPPATH=[
"#/lib/toolbox",
],
SDK_HEADERS=[
File("#/lib/toolbox/manchester_decoder.h"),
File("#/lib/toolbox/manchester_encoder.h"),
File("#/lib/toolbox/path.h"),
File("#/lib/toolbox/random_name.h"),
File("#/lib/toolbox/hmac_sha256.h"),
File("#/lib/toolbox/crc32_calc.h"),
File("#/lib/toolbox/dir_walk.h"),
File("#/lib/toolbox/md5.h"),
File("#/lib/toolbox/args.h"),
File("#/lib/toolbox/saved_struct.h"),
File("#/lib/toolbox/version.h"),
File("#/lib/toolbox/tar/tar_archive.h"),
File("#/lib/toolbox/stream/stream.h"),
File("#/lib/toolbox/stream/file_stream.h"),
File("#/lib/toolbox/stream/string_stream.h"),
],
)
libenv = env.Clone(tools=["fbt_version"], FW_LIB_NAME="toolbox")
libenv.ApplyLibFlags()
# Git Version management
version_depends = []
version_id_data = get_fast_git_version_id()
if version_id_data:
version_depends = Value(version_id_data)
# Only invoke version generator if preliminary check target (version_depends) has changed
build_version = libenv.VersionBuilder(
Dir("."),
version_depends,
)
fw_version_json = libenv.InstallAs(
"${BUILD_DIR}/${FIRMWARE_BUILD_CFG}.json", "version.json"
)
Alias("version_json", fw_version_json)
env.Append(FW_VERSION_JSON=fw_version_json)
# Default(fw_version_json)
if not version_depends:
libenv.Precious(build_version)
libenv.AlwaysBuild(build_version)
sources = libenv.GlobRecursive("*.c")
libenv.Append(CPPPATH=[libenv.Dir(".")])
lib = libenv.StaticLibrary("${FW_LIB_NAME}", sources)
libenv.Install("${LIB_DIST_DIR}", lib)
Return("lib")