commit | b188524d508bf13ed0d7829f3d47c268415955fd | [log] [tgz] |
---|---|---|
author | Harrison Mutai <harrison.mutai@arm.com> | Wed Apr 30 14:06:06 2025 +0000 |
committer | Harrison Mutai <harrison.mutai@arm.com> | Fri Jun 13 11:25:37 2025 +0000 |
tree | ab370ff445e93a4aebbd795095599fef89ca89ae | |
parent | 736f195a62fde9617a8b9743bc99f52c8695c557 [diff] |
feat: import Transfer List Compiler tool source Adds the Transfer List Compiler (tlc) as a standalone Python CLI tool under the LibTL project. This includes CLI interface, YAML parsing, test coverage, pyproject config, and coverage tooling for generating and manipulating TL blobs on host machines. Change-Id: I9896f771ecc413193b9b65ed86c9be837defb598 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
The Transfer List Library (LibTL) implements the Firmware Handoff specification, providing a streamlined interface for managing transfer lists. LibTL offers a user-friendly interface for:
The library supports building with host tools such as Clang and GCC, and cross compilation with the Aarch64 GNU compiler.
Tool | Minimum Version |
---|---|
Clang-Format | 14 |
CMake | 3.15 |
To configure the project, use the following command. This will default to using GCC as the toolchain and create a build directory named build/
:
cmake -B build
To build the project, use:
cmake --build build
This will output libtl.a in the build directory.
For cross-compilation or selecting a different compiler, specify the target toolchain file using the CMAKE_TOOLCHAIN_FILE
option and the target with CROSS_COMPILE
:
export CROSS_COMPILE=aarch64-none-elf- cmake -B build -DCMAKE_TOOLCHAIN_FILE=toolchains/host/gnu.cmake
Tests for LibTL are provided in the folder test
, to configure the project for test builds, run:
cmake -B build -DTARGET_GROUP=test cmake --build build
Then, to run the tests with ctest
, use:
ctest --test-dir build/