Fix: address Arm compiler licensing issue.
Fix for issue T19: https://issues.trustedfirmware.org/T19
Change details:
CompilerArmClangCommon.cmake:
- Removed warning issued by cmake about incorrect licensing settings.
tfm_sw_requirement.md
- Fixed incorrect Keil specific environment variable settings.
- Copied licensing related warning to multiple places to make it more
visible.
- Some small improvements to help readability.
Change-Id: I6656ad0e9d9d668b2d2b70b18c19783b7cac03bf
Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
diff --git a/cmake/Common/CompilerArmClangCommon.cmake b/cmake/Common/CompilerArmClangCommon.cmake
index 9b69f8a..53f143a 100644
--- a/cmake/Common/CompilerArmClangCommon.cmake
+++ b/cmake/Common/CompilerArmClangCommon.cmake
@@ -1,5 +1,5 @@
#-------------------------------------------------------------------------------
-# Copyright (c) 2017-2018, Arm Limited. All rights reserved.
+# Copyright (c) 2017-2019, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -21,11 +21,6 @@
message(FATAL_ERROR "ARMClang version (ARMCLANG_VER=${ARMCLANG_VER}) does not match ${MY_VERSION}")
endif()
- #Emit warning if needed environment variables are not set.
- if(NOT DEFINED ENV{ARM_TOOL_VARIANT} OR NOT DEFINED ENV{ARM_PRODUCT_PATH})
- message(WARNING "ARM_TOOL_VARIANT or ARM_PRODUCT_PATH environment variables are not set!")
- endif()
-
if (NOT DEFINED ARM_CPU_ARCHITECTURE AND NOT DEFINED ARM_CPU_TYPE)
message(FATAL_ERROR "ARM_CPU_TYPE and ARM_CPU_ARCHITECTURE is not defined! Please include the CPU specific config file before this one.")
endif()
diff --git a/docs/user_guides/tfm_sw_requirement.md b/docs/user_guides/tfm_sw_requirement.md
index 9c03cb8..cebd663 100755
--- a/docs/user_guides/tfm_sw_requirement.md
+++ b/docs/user_guides/tfm_sw_requirement.md
@@ -1,37 +1,36 @@
# TF-M Software requirements
-
-## To compile TF-M code
-At least one of the supported compiler toolchains have to be available in the
-build environment.
+To compile TF-M code, at least one of the supported compiler toolchains have to
+be available in the build environment.
The currently supported compiler versions are:
-- ARM Compiler v6.7.1
-- ARM Compiler v6.9
-- ARM Compiler v6.10
-- ARM Compiler v6.11
+- Arm Compiler v6.7.1
+- Arm Compiler v6.9
+- Arm Compiler v6.10
+- Arm Compiler v6.11
- GNU Arm compiler v6.3.1
- GNU Arm compiler v7.3
-*Note* The ARM compilers above are provided via Keil uVision v5.24.1 or greater,
-DS-5 v5.27.1 or greater, and Development Studio 2018.0, or they can be
-downloaded as standalone packages from [here](https://developer.arm.com/products/software-development-tools/compilers/arm-compiler/downloads/version-6).
+**Notes:**
-*Note* The GNU Arm compiler can be downloaded from [here](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads).
-On the page select *GNU Arm Embedded Toolchain: 6-2017-q1-update* or *GNU Arm
-Embedded Toolchain: 7-2018-q2-update*
+ - The Arm compilers above are provided via Keil uVision v5.24.1 or greater,
+ DS-5 v5.27.1 or greater, and Development Studio 2018.0, or they can be
+ downloaded as standalone packages from [here](https://developer.arm.com/products/software-development-tools/compilers/arm-compiler/downloads/version-6).
-*Note* In this version, you also need manually clone CMSIS_5 and mbedtls
-repositories at the same location where tfm repo is located.
+ - The GNU Arm compiler can be downloaded from [here](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads).
+ On the page select *GNU Arm Embedded Toolchain: 6-2017-q1-update* or *GNU Arm
+ Embedded Toolchain: 7-2018-q2-update*
-*Note* ARM compiler specific environment variable may need updating based
-on specific products and licenses as explained in
-[product-and-toolkit-configuration](https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration).
+ - In this version, you also need manually clone CMSIS_5 and mbedtls
+ repositories at the same location where tfm repo is located.
+
+ - Arm compiler specific environment variable may need updating based
+ on specific products and licenses as explained in
+ [product-and-toolkit-configuration](https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration).
-### Linux
+## Linux
- DS-5 v5.27.1.
- Git tools v2.10.0
-- Cmake v3.7.0
- https://cmake.org/download/
+- [CMake v3.7.0](https://cmake.org/files/v3.7/)
- GNU Make v3.81
- Python3, with the following libraries:
- pycrypto
@@ -41,17 +40,21 @@
- sudo apt-get install python3-crypto python3-pyasn1 python3-yaml python3-jinja2
- SRecord v1.58 (for Musca test chip boards)
+### Setup a shell to enable compiler toolchain and CMake after installation.
-#### Setup a shell to enable compiler toolchain and cmake after installation.
+To import Arm Compiler v6.7.1 in your bash shell console:
-To import ARM Compiler v6.7.1 in your bash shell console:
+**Note:** Arm compiler specific environment variable may need updating based
+on specific products and licenses as explained in
+[product-and-toolkit-configuration](https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration).
+
~~~
export PATH=<DS-5_PATH>/sw/ARMCompiler6.7.1/bin:$PATH
export ARM_TOOL_VARIANT="ult"
export ARM_PRODUCT_PATH="<DS-5_PATH>/sw/mappings"
export ARMLMD_LICENSE_FILE="<LICENSE_FILE_PATH>"
~~~
-To import cmake in your bash shell console:
+To import CMake in your bash shell console:
~~~
export PATH=<CMAKE_PATH>/bin:$PATH
~~~
@@ -60,45 +63,55 @@
export PATH=<GNU_ARM_PATH>/bin:$PATH
~~~
-### On Windows
+## Windows
- uVision v5.24.1 or DS-5 v5.27.1 (DS-5 Ultimate Edition) which provides the
- ARM Compiler v6.7.1 compiler or GNU Arm compiler v6.3.1.
+ Arm Compiler v6.7.1 compiler or GNU Arm compiler v6.3.1.
- Git client latest version (https://git-scm.com/download/win)
-- Cmake v3.7.0 ( https://cmake.org/download/ )
-- Cygwin ( https://www.cygwin.com/ ). Tests done with version 2.877 (64 bits)
-- GNU make should be installed by selecting appropriate package during cygwin
+- [CMake v3.7.0](https://cmake.org/files/v3.7/)
+- [Cygwin]( https://www.cygwin.com/ ). Tests done with version 2.877 (64 bits)
+- GNU make should be installed by selecting appropriate package during Cygwin
installation.
-- Python3(native Windows version), with the following libraries:
+- Python3 [(native Windows version)](https://www.python.org/downloads/), with the following libraries:
- pycryptodome (pip3 install --user pycryptodome)
- pyasn1 (pip3 install --user pyasn1)
- pyyaml (pip3 install --user pyyaml)
- jinja2 (pip3 install --user jinja2)
- Python3 pip
-- SRecord v1.63 (for Musca test chip boards)
+- [SRecord v1.63](https://sourceforge.net/projects/srecord/) (for Musca-A1 test chip board)
-#### Setup Cygwin to enable a compiler toolchain and cmake after installation.
+### Setup Cygwin to enable a compiler toolchain and CMake after installation.
-If applicable, import ARM Compiler v6.7.1 in your shell console. To make this
+If applicable, import Arm Compiler v6.7.1 in your shell console. To make this
change permanent, add the command line into ~/.bashrc
-**DS5**
-~~~
-export PATH="/cygdrive/c/<DS-5 path>/sw/ARMCompiler6.7.1/bin":$PATH
-export ARM_PRODUCT_PATH="C:/<DS-5 path>/sw/mappings"
-~~~
+**DS-5**
-**Keil**
-~~~
-export PATH="/cygdrive/c/<uVison path>/ARM/ARMCLANG/bin":$PATH
-export ARM_PRODUCT_PATH="C:/<uVison path>/ARM/sw/mappings"
-~~~
+**Notes:**
-**Shared settings**
+ - Arm compiler specific environment variable may need updating based
+ on specific products and licenses as explained in
+ [product-and-toolkit-configuration](https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration).
+
+ - Arm licensing related environment variables must use Windows paths,
+ and not the Cygwin specific one relative to */cygrive*.
+
~~~
+export PATH="/cygdrive/c/<DS-5_PATH>/sw/ARMCompiler6.7.1/bin":$PATH
+export ARM_PRODUCT_PATH="c:/<DS-5_PATH>/sw/mappings"
export ARM_TOOL_VARIANT="ult"
export ARMLMD_LICENSE_FILE="<LICENSE_FILE_PATH>"
~~~
+**Keil MDK Arm**
+
+**Note:** Arm compiler specific environment variable may need updating based
+on specific products and licenses as explained in
+[product-and-toolkit-configuration](https://developer.arm.com/products/software-development-tools/license-management/resources/product-and-toolkit-configuration).
+
+~~~
+export PATH="/cygdrive/c/<uVision path>/ARM/ARMCLANG/bin":$PATH
+~~~
+
If applicable, import GNU Arm compiler v6.3.1 in your shell console. To make
this change permanent, add the command line into ~/.bashrc
@@ -107,9 +120,9 @@
export PATH=<GNU_ARM_PATH>/bin:$PATH
~~~
-To import cmake in your bash shell console:
+To import CMake in your bash shell console:
-**cmake**
+**CMake**
~~~
export PATH=/cygdrive/c/<CMAKE_PATH>/bin:$PATH
@@ -171,5 +184,5 @@
~~~
--------------
-*Copyright (c) 2017-2019, Arm Limited. All rights reserved.*
+*Copyright (c) 2017-2019, Arm Limited. All rights reserved.*