docs: refactor build section
Under "Getting Started", created dedicated subsections for:
- Prerequisites
- Get Source
- Building
Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: I46f7b924f812aea6f3bd3a9216fe2ccbec0287e8
diff --git a/docs/getting_started/building.rst b/docs/getting_started/building.rst
index cd8e2cf..bdd2873 100644
--- a/docs/getting_started/building.rst
+++ b/docs/getting_started/building.rst
@@ -1,87 +1,10 @@
-Building Hafnium
-================
-
-Prerequisites
--------------
-
-Build Host
-^^^^^^^^^^
-
-A relatively recent Linux distribution is recommended.
-CI runs are done using Ubuntu 22.04 LTS (64-bit).
-
-Toolchain
-^^^^^^^^^
-
-The following toolchain is recommended for building Hafnium and the test
-infrastructure:
-
-- For a x86_64 Ubuntu host,
-
-.. code:: shell
-
- https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz
-
-- For a AArch64 Ubuntu host,
-
-.. code:: shell
-
- https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-aarch64-linux-gnu.tar.xz
-
-.. note::
-
- Use of a native toolchain installed on the host (e.g. /usr/bin/clang) is
- not supported.
-
-.. note::
-
- Using a toolchain version greater, or significantly lesser than the one
- specified is not guaranteed to work.
-
-.. _prerequisites_software_and_libraries:
-
-Dependencies
-^^^^^^^^^^^^
-
-If you are using the recommended Ubuntu distribution then you can install the
-required packages with the following command:
-
-.. code:: shell
-
- sudo apt install make libssl-dev flex bison python3 python3-serial
- python3-pip device-tree-compiler
-
- pip3 install fdt
-
-.. _prerequisites_get_source:
-
-Getting the sources
-^^^^^^^^^^^^^^^^^^^
-
-Hafnium source code is maintained in a Git repository hosted on
-trustedfirmware.org.
-To clone this repository from the server, run the following
-in your shell:
-
-.. code:: shell
-
- git clone --recurse-submodules https://git.trustedfirmware.org/hafnium/hafnium.git
-
-In order to import gerrit hooks useful to add a Change-Id footer in commit messages,
-it is recommended to use:
-
-.. code:: shell
-
- git clone --recurse-submodules https://git.trustedfirmware.org/hafnium/hafnium.git && { cd hafnium && f="$(git rev-parse --git-dir)"; curl -Lo "$f/hooks/commit-msg" https://review.trustedfirmware.org/tools/hooks/commit-msg && { chmod +x "$f/hooks/commit-msg"; git submodule --quiet foreach "cp \"\$toplevel/$f/hooks/commit-msg\" \"\$toplevel/$f/modules/\$path/hooks/commit-msg\""; }; }
-
Building
---------
+========
-The PATH environment variable shall be adjusted to the LLVM/clang directory, prior to building e.g.:
+This page assumes the :ref:`Prerequisites` have been followed to install all project dependencies.
-.. code:: shell
-
- PATH=<toolchain_dir>/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04/bin:$PATH
+Hafnium
+^^^^^^^
By default, the Hafnium SPMC is built with clang for a few target platforms along
with tests. From Hafnium top level directory, simply type:
@@ -117,6 +40,16 @@
So the `args.gn` file will be regenerated with the new values.
+Hafnium Documentation
+^^^^^^^^^^^^^^^^^^^^^
+
+If you have already sourced a virtual environment, Poetry will respect this and
+install dependencies there.
+
+.. code:: shell
+
+ poetry run make doc
+
--------------
*Copyright (c) 2023, Arm Limited. All rights reserved.*