build: support submodule update during config
This patch adds support to update git submodules during config
phase of RMM build. Doing this within the RMM build phase means
that if there is any update of the dependency after rebase of
project, this will be catered for transparently during build.
Also, typical `git clone` command for projects with submodules
usually specify `recursive` option which then recursively
downloads the dependencies of submodules. This is a problem
when `libspdm` is included as a dependency for RMM as it has
several dependant submodules of its own and is not required
in the RMM context. So, having the RMM build system update the
submodule avoids this problem.
This also ties in with the `git patch` apply logic in RMM. The
patch application assumes a commit SHA for the dependency. With
this framework, the commit SHA can be ensured before the patch
is applied.
The submodule update is specified as shallow clone of the git
repositories to make the operation efficient.
The userguide is also updated for instructions to clone the
project.
Change-Id: Id73243e88df762eaee391d646731ec08a3e2aa4f
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
diff --git a/docs/getting_started/getting-started.rst b/docs/getting_started/getting-started.rst
index 910023a..040d9ce 100644
--- a/docs/getting_started/getting-started.rst
+++ b/docs/getting_started/getting-started.rst
@@ -185,7 +185,10 @@
.. code-block:: bash
- git clone --recursive https://git.trustedfirmware.org/TF-RMM/tf-rmm.git
+ git clone https://git.trustedfirmware.org/TF-RMM/tf-rmm.git
+
+Note that the RMM submodule dependencies will be updated during the
+configuration phase of build.
Additional steps for Contributors
*********************************