feat(handoff): support libtl submodule builds

Refactor transfer list support to enable building the transfer list
and updates include paths accordingly.

Change-Id: Icdbe19924678a4023c15897a9765b8e7f150d9e3
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
This commit is contained in:
Harrison Mutai 2025-04-15 14:36:27 +00:00
parent 470404b8b0
commit 06f3c7058c
3 changed files with 43 additions and 0 deletions

4
.gitmodules vendored Normal file
View File

@ -0,0 +1,4 @@
[submodule "libtl"]
path = contrib/libtl
url = https://review.trustedfirmware.org/shared/transfer-list-library
shallow = true

1
contrib/libtl Submodule

@ -0,0 +1 @@
Subproject commit 9630cb01984503a9fe6974d31b0d581fb693540c

View File

@ -182,6 +182,44 @@ manually by running:
You can read more about Git hooks in the *githooks* page of the Git
documentation, available `here <https://git-scm.com/docs/githooks>`_.
.. _git_submodules:
Cloning Additional Git Submodules
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some dependencies in TF-A, such as Transfer List Library ``libtl``, are managed
using Git submodules. Submodules allow external repositories to be included
within the main project while maintaining their own commit history.
Initial Clone with Submodules
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If you're cloning the repository for the first time, run the following commands
to initialize and fetch all submodules:
.. code-block:: bash
git clone --recurse-submodules "https://git.trustedfirmware.org/TF-A/trusted-firmware-a"
This ensures all submodules (including ``libtl``) are correctly checked out.
Updating Submodules
^^^^^^^^^^^^^^^^^^^
If the project updates the reference to a submodule (e.g., points to a new
commit of ``libtl``), you can update your local copy by running:
.. code-block:: bash
git pull
git submodule update --init --recursive
To fetch the latest commits from all submodules, you can use:
.. code-block:: bash
git submodule update --remote
--------------
*Copyright (c) 2021-2025, Arm Limited. All rights reserved.*