blob: 2c52c3c38fb140942a594190cbf1a6ed515a06c4 [file] [log] [blame]
Galanakis, Minos41f85972019-09-30 15:56:40 +01001#####################
2Software requirements
3#####################
Gyorgy Szingdb9783c2019-04-17 21:08:48 +02004
Antonio de Angelis065ce4a2019-06-04 14:02:33 +01005.. |DS5_VERSION| replace:: v5.29.1
6.. |KEIL_VERSION| replace:: v5.25.2
7.. |DEV_STUDIO_VERSION| replace:: 2018.0
8
Galanakis, Minos757139a2019-11-11 15:00:11 +00009A quick reference table is included in the
Minos Galanakise4094012020-06-12 14:25:34 +010010:ref:`docs/getting_started/tfm_sw_requirement:Tool & Dependency overview` section
Galanakis, Minos757139a2019-11-11 15:00:11 +000011of this document.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020012
13****************************
14Supported build environments
15****************************
16
17TF-M officially supports a limited set of build environments and setups. In
18this context, official support means that the environments listed below
19are actively used by team members and active developers hence users should
20be able to recreate the same configurations by following the instructions
21described below. In case of problems, the TF-M team provides support
22only for these environments, but building in other environments can still be
23possible.
24
25The following environments are supported:
Kevin Townsend0f869bb2019-08-01 21:06:48 +020026
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020027 - Ubuntu 16.04 x64
28 - Ubuntu 18.04 x64
Mingyang Sun1e590642019-09-24 10:46:21 +080029 - Windows 10 x64 + git-bash (MinGW) + gnumake from DS-5 or msys2.
30 - Windows 10 x64 + Cygwin x64 (example configuration is provided for
31 this Windows setup only).
32
33.. note::
34 Some tools (i.e. python3 and CMake) must NOT be installed from
35 Cygwin and instead a native windows version is needed. Please see the
36 chapter `Windows + Cygwin setup`_ below.
TTornblom8a8b4522020-06-10 11:13:32 +020037 IAR requires Ubuntu 18.04 or later.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020038
39*********************
40Supported C compilers
41*********************
42
43To compile TF-M code, at least one of the supported compiler toolchains have to
44be available in the build environment. The currently supported compiler
45versions are:
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010046
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020047 - Arm Compiler v6.10
48 - Arm Compiler v6.11
Gary Morrison81fb08c2019-05-30 10:14:35 -050049 - Arm Compiler v6.12
Ronald Cronc0c38fa2019-09-23 09:36:56 +020050 - Arm Compiler v6.13
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020051 - GNU Arm compiler v6.3.1
52 - GNU Arm compiler v7.3
TTornblom8a8b4522020-06-10 11:13:32 +020053 - IAR Arm compiler v8.42.x
54 - IAR Arm compiler v8.50.x
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020055
56.. Note::
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010057 - The Arm compilers above are provided via Keil uVision |KEIL_VERSION|
58 or greater, DS-5 |DS5_VERSION| or greater, and Development Studio
59 |DEV_STUDIO_VERSION| or greater, or they can be downloaded as standalone
60 packages from
61 `here <https://developer.arm.com/products/software-development-tools/compilers/arm-compiler/downloads/version-6>`__.
62
63 - Arm compiler specific environment variable may need updating based
64 on specific products and licenses as explained in
65 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
66
67 - The GNU Arm compiler can be downloaded from
68 `here <https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads>`__.
69 On the page select *GNU Arm Embedded Toolchain: 6-2017-q1-update*
70 or *GNU Arm Embedded Toolchain: 7-2018-q2-update*
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020071
TTornblom8a8b4522020-06-10 11:13:32 +020072 - The IAR Arm compilers above are provided via IAR Embedded Workbench (Windows) or
73 IAR build tools for linux.
74 For information, see
75 `here <https://www.iar.com/iar-embedded-workbench/#!?architecture=Arm>`__ or
76 `here <https://www.iar.com/iar-embedded-workbench/build-tools-for-linux/>`__.
77
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020078************************
79Supported CMake versions
80************************
81
82The build-system is CMake based and supports the following versions:
Antonio de Angelis065ce4a2019-06-04 14:02:33 +010083
84 - 3.7
85 - 3.10
86 - 3.11
87 - 3.12
88 - 3.13
89 - 3.14
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020090
91.. Note::
92 - Please use the latest build version available (i.e. 3.7.2 instead of
93 3.7.0).
94 While it is preferable to use the newest version this is not required
95 and any version from the above list should work.
96 - Recent versions of CMake can be downloaded from
97 https://cmake.org/download/, and older releases are available from
98 https://cmake.org/files.
Mingyang Sun1e590642019-09-24 10:46:21 +080099 - For Cygwin users, please use a native windows CMake version
100 instead of the version installed with Cygwin.
TTornblom8a8b4522020-06-10 11:13:32 +0200101 - IAR requires version 3.14 or later.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200102
103***************************
104Supported GNU make versions
105***************************
106
107The TF-M team builds using the "Unix Makefiles" generator of CMake and
108thus GNU make is needed for the build. On Linux please use the version
109available from the official repository of your distribution.
110
111On Windows the following binaries are supported:
Kevin Townsend0f869bb2019-08-01 21:06:48 +0200112
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200113 - GNU make v4.2.1 executable from Cygwin
114 - GNU make v4.2.1 executable from msys2
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100115 - GNU make v4.2 executable from DS5 |DS5_VERSION| (see <DS5 directory>/bin)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200116
TTornblom8a8b4522020-06-10 11:13:32 +0200117CMake is quite tolerant to GNU make versions and basically any
118"reasonably recent" GNU make version should work.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200119
120CMake generators other than "Unix Makefiles" may work, but are not
121officially supported.
122
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000123*********************
124External dependencies
125*********************
126
127In order to build TF-M the following external projects are required:
128
129 - `Mbed Crypto library <https://github.com/ARMmbed/mbed-crypto>`__ v3.0.1
130 is used as crypto library on the secure side
Kevin Peng6710c822020-05-21 16:52:14 +0800131
132And the following TF-M projects as well:
133 - `TF-M tests <https://git.trustedfirmware.org/TF-M/tf-m-tests.git>`__
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000134
135Each of the listed dependencies should be placed in a common root directory
136with trustedfirmware-m
137
138.. code-block:: bash
139
140 .
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000141 ├── mbed-crypto
Kevin Peng6710c822020-05-21 16:52:14 +0800142 ├── tf-m-tests
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000143 └── trusted-firmware-m
144
Ludovic Barre8a77bdd2020-03-26 19:53:07 +0100145********************************************
146Tools for configuring and programming boards
147********************************************
148
Kevin Peng6710c822020-05-21 16:52:14 +0800149For stm32l5xx boards, `STM32_Programmer_CLI <https://www.st.com/en/development-tools/stm32cubeprog.html>`__
Ludovic Barre8a77bdd2020-03-26 19:53:07 +0100150is used to configure security protections and to write the code in internal flash.
151A version is available for Linux and Windows host machine.
152
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200153**************
154Example setups
155**************
156
157This section lists dependencies and some exact and tested steps to set-up a
158TF-M-m build environment under various OSes.
159
Mingyang Sun1e590642019-09-24 10:46:21 +0800160Ubuntu setup
161============
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200162
David Vincze4a6555e2019-11-06 09:32:13 +0100163Install the following tools:
164
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100165- DS-5 |DS5_VERSION|.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200166- Git tools v2.10.0
167- CMake (see the "Supported CMake versions" chapter)
168- GNU Make (see the "Supported make versions" chapter)
David Vincze4a6555e2019-11-06 09:32:13 +0100169- Python3 and the pip package manager (from Python 3.4 it's included)
170- Python3 packages: *cryptography, pyasn1, yaml, jinja2 v2.10, cbor v1.0.0*
171
172 .. code-block:: bash
173
174 pip3 install --user cryptography pyasn1 pyyaml jinja2 cbor
175
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200176- SRecord v1.58 (for Musca test chip boards)
177
178Setup a shell to enable compiler toolchain and CMake after installation.
179------------------------------------------------------------------------
180
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100181To import Arm Compiler v6.10 in your bash shell console:
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200182
183.. Warning::
184 Arm compiler specific environment variable may need updating based on
185 specific products and licenses as explained in
186 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
187
188.. code-block:: bash
189
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100190 export PATH=<DS-5_PATH>/sw/ARMCompiler6.10/bin:$PATH
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100191 export ARM_TOOL_VARIANT=ult
192 export ARM_PRODUCT_PATH=<DS-5_PATH>/sw/mappings
193 export ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200194
195To import CMake in your bash shell console:
196
197.. code-block:: bash
198
TTornblom8a8b4522020-06-10 11:13:32 +0200199 export PATH=<CMake path>/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200200
201To import GNU Arm in your bash shell console:
202
203.. code-block:: bash
204
TTornblom8a8b4522020-06-10 11:13:32 +0200205 export PATH=<bash path>/bin:$PATH
206
207 To import IAR Arm compiler in your bash shell console:
208
209.. code-block:: bash
210
211 export PATH=<IAR compiler path>/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200212
Mingyang Sun1e590642019-09-24 10:46:21 +0800213Windows + Cygwin setup
214======================
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200215
David Vincze4a6555e2019-11-06 09:32:13 +0100216Install the following tools:
217
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100218- uVision |KEIL_VERSION| or DS-5 |DS5_VERSION| (DS-5 Ultimate Edition) which
219 provides the Arm Compiler v6.10 compiler or GNU Arm compiler v6.3.1.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200220- Git client latest version (https://git-scm.com/download/win)
Mingyang Sun1e590642019-09-24 10:46:21 +0800221- CMake (`native Windows version <https://cmake.org/download/>`__,
222 see the `Supported CMake versions`_ chapter)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200223- `Cygwin <https://www.cygwin.com/>`__. Tests done with version 2.877
224 (64 bits)
225- GNU make should be installed by selecting appropriate package during
226 cygwin
227 installation.
David Vincze4a6555e2019-11-06 09:32:13 +0100228- Python3 `(native Windows version) <https://www.python.org/downloads/>`__ and
229 the pip package manager (from Python 3.4 it's included)
230- Python3 packages: *cryptography, pyasn1, yaml, jinja2 v2.10, cbor v1.0.0*
231
232 .. code-block:: bash
233
234 pip3 install --user cryptography pyasn1 pyyaml jinja2 cbor
235
Jamie Foxb8a92702019-06-05 17:19:31 +0100236- `SRecord v1.63 <https://sourceforge.net/projects/srecord/>`__ (for Musca test
237 chip boards)
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200238
239Setup Cygwin to enable a compiler toolchain and CMake after installation.
240-------------------------------------------------------------------------
241
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100242If applicable, import Arm Compiler v6.10 in your shell console. To make this
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200243change permanent, add the command line into ~/.bashrc
244
245Armclang + DS-5
246^^^^^^^^^^^^^^^
247.. Note::
248
249 - Arm compiler specific environment variable may need updating based on
250 specific products and licenses as explained in
251 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
252 - Arm licensing related environment variables must use Windows paths, and not
253 the Cygwin specific one relative to */cygrive*.
254
255.. code-block:: bash
256
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100257 export PATH=/cygdrive/c/<DS-5_PATH>/sw/ARMCompiler6.10/bin:$PATH
258 export ARM_PRODUCT_PATH=C:/<DS-5_PATH>/sw/mappings
259 export ARM_TOOL_VARIANT=ult
260 export ARMLMD_LICENSE_FILE=<LICENSE_FILE_PATH>
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200261
262Armclang + Keil MDK Arm
263^^^^^^^^^^^^^^^^^^^^^^^
264
265.. Note::
266
267 - Arm compiler specific environment variable may need updating based
268 on specific products and licenses as explained in
269 `product-and-toolkit-configuration <https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration>`__.
270
271.. code-block:: bash
272
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100273 export PATH=/cygdrive/c/<uVision path>/ARM/ARMCLANG/bin:$PATH
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200274
275GNU Arm
276^^^^^^^
277
278If applicable, import GNU Arm compiler v6.3.1 in your shell console. To make
279this change permanent, add the command line into ~/.bashrc
280
281.. code-block:: bash
282
283 export PATH=<GNU Arm path>/bin:$PATH
284
285CMake
286^^^^^
287
288To import CMake in your bash shell console:
289
290.. code-block:: bash
291
292 export PATH=/cygdrive/c/<CMake path>/bin:$PATH
293
294Building the documentation
295==========================
296
297The build system is prepared to support generation of two documents.
298The Reference Manual which is Doxygen based, and the User Guide which is
299Sphinx based. Both document can be generated in HTML and PDF format.
300
301.. Note::
302
303 Support for document generation in the build environment is not mandatory.
304 Missing document generation tools will not block building the TF-M
305 firmware.
306
307To compile the TF-M Reference Manual
308------------------------------------
309
310The following additional tools are needed:
311
312 - Doxygen v1.8.0 or later
313 - Graphviz dot v2.38.0 or later
314 - PlantUML v1.2018.11 or later
315 - Java runtime environment 1.8 or later (for running PlantUML)
316
317For PDF generation the following tools are needed in addition to the
318above list:
319
320 - LaTeX
321 - PdfLaTeX
322
323Set-up the needed tools
324^^^^^^^^^^^^^^^^^^^^^^^
325
326Linux
327"""""
328.. code-block:: bash
329
330 sudo apt-get install -y doxygen graphviz default-jre
331 mkdir ~/plantuml
332 curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download --output ~/plantuml/plantuml.jar
333
334For PDF generation:
335
336.. code-block:: bash
337
338 sudo apt-get install -y doxygen-latex
339
340Windows + Cygwin
341""""""""""""""""
342
343Download and install the following tools:
344 - `Doxygen
345 1.8.8 <https://sourceforge.net/projects/doxygen/files/snapshots/doxygen-1.8-svn/windows/doxygenw20140924_1_8_8.zip/download>`__
346 - `Graphviz
347 2.38 <https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi>`__
348 - The Java runtime is part of the DS5 installation or can be
349 `downloaded from here <https://www.java.com/en/download/>`__
350 - `PlantUML <http://sourceforge.net/projects/plantuml/files/plantuml.jar/download>`__
351
352For PDF generation:
353
354 - `MikTeX <https://miktex.org/download>`__
355
356 .. Note::
357 When building the documentation the first time, MikTeX might prompt for
358 installing missing LaTeX components. Please allow the MikTeX package
359 manager to set-up these.
360
361Configure the shell
362^^^^^^^^^^^^^^^^^^^
363
364Linux
365"""""
366
367::
368
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100369 export PLANTUML_JAR_PATH=~/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200370
371Windows + Cygwin
372""""""""""""""""
373
374Assumptions for the settings below:
375
376 - plantuml.jar is available at c:\\plantuml\\plantuml.jar
377 - doxygen, dot, and MikTeX binaries are available on the PATH.
378 - Java JVM is used from DS5 installation.
379
380::
381
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100382 export PLANTUML_JAR_PATH=c:/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200383 export PATH=$PATH:/cygdrive/c/<DS-5 path>/sw/java/bin
384
385To compile the TF-M User Guide
386------------------------------
387
388The following additional tools are needed:
389
390 - Python3 and the following modules:
391 - Sphinx v1.7.9
392 - m2r v0.2.0
393 - sphinxcontrib-plantuml
394 - sphinx-rtd-theme
395 - Graphviz dot v2.38.0 or later
396 - PlantUML v1.2018.11 or later
397 - Java runtime environment 1.8 or later (for running PlantUML)
398
399For PDF generation the following tools are needed in addition to the
400above list:
401
402 - LaTeX
403 - PdfLaTeX
404
405Set-up the needed tools
406^^^^^^^^^^^^^^^^^^^^^^^
407
408Linux
409"""""
410
411.. code-block:: bash
412
413 sudo apt-get install -y python3 graphviz default-jre
414 pip --user install m2r Sphinx sphinx-rtd-theme sphinxcontrib-plantuml
415 mkdir ~/plantuml
416 curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download --output ~/plantuml/plantuml.jar
417
418For PDF generation:
419
420.. code-block:: bash
421
422 sudo apt-get install -y doxygen-latex
423
424Windows + Cygwin
425""""""""""""""""
426Download and install the following tools:
427 - Python3 `(native Windows version) <https://www.python.org/downloads/>`__
428 - Pip packages *m2r, Sphinx, sphinx-rtd-theme sphinxcontrib-plantuml*
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100429
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200430 .. code-block:: bash
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100431
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200432 pip --user install m2r Sphinx sphinx-rtd-theme sphinxcontrib-plantuml
Antonio de Angelis065ce4a2019-06-04 14:02:33 +0100433
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200434 - `Graphviz 2.38 <https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi>`__
435 - The Java runtime is part of the DS5 installation or can be
436 `downloaded from here <https://www.java.com/en/download/>`__
437 - `PlantUML <http://sourceforge.net/projects/plantuml/files/plantuml.jar/download>`__
438
439For PDF generation:
440
441- `MikTeX <https://miktex.org/download>`__
442
443.. Note::
444 When building the documentation the first time, MikTeX might
445 prompt for installing missing LaTeX components. Please allow the MikTeX
446 package manager to set-up these.
447
448Configure the shell
449^^^^^^^^^^^^^^^^^^^
450
451Linux
452"""""
453.. code-block:: bash
454
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100455 export PLANTUML_JAR_PATH=~/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200456
457Windows + Cygwin
458""""""""""""""""
459
460Assumptions for the settings below:
461
462 - plantuml.jar is available at c:\\plantuml\\plantuml.jar
463 - doxygen, dot, and MikTeX binaries are available on the PATH.
464 - Java JVM is used from DS5 installation.
465
466.. code-block:: bash
467
Vikas Katariya1c361cd2019-08-23 15:05:02 +0100468 export PLANTUML_JAR_PATH=c:/plantuml/plantuml.jar
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200469 export PATH=$PATH:/cygdrive/c/<DS-5 path>/sw/java/bin
470
Galanakis, Minos757139a2019-11-11 15:00:11 +0000471**************************
472Tool & Dependency overview
473**************************
474
475To build the TF-M firmware the following tools are needed:
476
477.. csv-table:: Tool dependencies
478 :header: "Name", "Version", "Component"
479
480 "C compiler",See `Supported C compilers`_,"Firmware"
481 "CMake",See `Supported CMake versions`_,
482 "GNU Make",See `Supported GNU make versions`_,
Kevin Peng6710c822020-05-21 16:52:14 +0800483 "tf-m-tests",See `External dependencies`_,
Minos Galanakisac6b06c2020-03-19 12:57:02 +0000484 "mbed-crypto",See `External dependencies`_,
Galanakis, Minos757139a2019-11-11 15:00:11 +0000485 "Python",3.x,"Firmware, User Guide"
486 "yaml",,"Firmware"
487 "pyasn1",,"Firmware"
488 "jinja2",,"Firmware"
489 "cryptography",,"Firmware"
490 "cbor",,"Firmware"
491 "Doxygen",">1.8","Reference manual"
492 "Sphinx",">1.4","User Guide"
493 "sphinxcontrib-plantuml",,"User Guide"
494 "sphinx-trd-theme",,"User Guide"
495 "Git",,
496 "PlantUML",">v1.2018.11","Reference Manual, User Guide"
497 "Graphviz dot",">v2.38.0","Reference manual"
498 "Java runtime environment (JRE)",">1.8","Reference Manual, User Guide"
499 "LaTex",,"pdf version of Reference Manual and User Guide"
500 "PdfLaTex",,"pdf version of Reference Manual and User Guide"
501
502Dependency chain:
503
504.. uml::
505
506 @startuml
507 skinparam state {
508 BackgroundColor #92AEE0
509 FontColor black
510 FontSize 16
511 AttributeFontColor black
512 AttributeFontSize 16
513 BackgroundColor<<pdf>> #A293E2
514 BackgroundColor<<doc>> #90DED6
515 }
516 state fw as "Firmware" : TF-M binary
517 state c_comp as "C Compiler" : C99
518 state gmake as "GNU make"
519 state u_guide as "User Guide" <<doc>>
520 state refman as "Reference Manual" <<doc>>
521 state rtd_theme as "sphinx-rtd-theme" <<doc>>
522 state sphnix_puml as "sphinxcontrib-plantuml" <<doc>>
523 state JRE as "JRE" <<doc>> : Java Runtime Environment
524 state gwiz as "Graphwiz dot" <<doc>>
525 state Sphinx as "Sphinx" <<doc>>
526 state m2r as "m2r" <<doc>>
527 state PlantUML as "PlantUML" <<doc>>
528 state LaTex as "LaTex" <<pdf>>
529 state PdfLaTex as "PdfLaTex" <<<<pdf>>>>
530 state Doxygen as "Doxygen" <<doc>>
531
532 [*] --> fw
533 fw --> c_comp
534 fw --> CMake
535 CMake --> gmake
536 fw --> cryptography
537 fw --> pyasn1
538 fw --> yaml
539 fw --> jinja2
540 fw --> cbor
541 cryptography --> Python3
542 pyasn1 --> Python3
543 yaml --> Python3
544 jinja2 --> Python3
545 cbor --> Python3
546
547 [*] --> u_guide
548 u_guide --> Sphinx
549 Sphinx --> m2r
550 Sphinx --> rtd_theme
551 Sphinx --> sphnix_puml
552 m2r --> Python3
553 rtd_theme --> Python3
554 sphnix_puml --> Python3
555 Sphinx --> PlantUML
556 PlantUML --> JRE
557 PlantUML --> gwiz
558 Sphinx --> LaTex
559 LaTex --> PdfLaTex
560
561 [*] --> refman
562 refman --> Doxygen
563 Doxygen --> PlantUML
564 Doxygen --> LaTex
565 state Legend {
566 state x as "For PDF generation only" <<pdf>>
567 state y as "For document generation only" <<doc>>
568 state z as "Mandatory"
569 }
570
571 @enduml
572
Gyorgy Szingdb9783c2019-04-17 21:08:48 +0200573--------------
574
Ronald Cronc0c38fa2019-09-23 09:36:56 +0200575*Copyright (c) 2017-2020, Arm Limited. All rights reserved.*