1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-05-30 00:21:17 +00:00

arm-toolchain: armcompiler: Add Arm Clang recipe

Adds Arm Clang recipe to pull down the prebuilt Armcompiler for
compiling for Cortex-A, Cortex-R, and Cortex-M processors from ARM.
This toolchain is required to build Arm trusted-firmware-m with
different optimisations than GCC can provide for M-class processors.

This recipe is based on the gcc-arm-none-eabi-native toolchain.

Change-Id: I0110f899ec6e5b355c5b7661db1f4aa0e254e7e2
Signed-off-by: Gabor Abonyi <gabor.abonyi@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
Gabor Abonyi
2020-12-04 15:28:55 +00:00
committed by Jon Mason
parent c63ac9cf0e
commit a35a629c92
6 changed files with 4210 additions and 0 deletions
@@ -0,0 +1,46 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2020 Arm Limited
#
require external-arm-toolchain-x86host.inc
SUMMARY = "Baremetal Armcompiler for Cortex-A, Cortex-R and Cortex-M processors"
HOMEPAGE = "https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/version-6"
# Certain features of armcompiler requires a license. For more information, please refer to the armcompiler user guide:
# https://developer.arm.com/tools-and-software/software-development-tools/license-management/resources/product-and-toolkit-configuration
# Usually set and export of these variables are required:
# ARM_TOOL_VARIANT, ARMLMD_LICENSE_FILE, LM_LICENSE_FILE
LICENSE = "Armcompiler-License-agreement & Armcompiler-Redistributables & \
Armcompiler-Supplementary-terms & Armcompiler-Third-party-licenses"
LICENSE_FLAGS = "armcompiler"
LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=40cd57dbb1f9d111fb6923945849d51c \
file://license_terms/redistributables.txt;md5=e510e47f7f5be1356ea6218f5b1f6c55 \
file://license_terms/supplementary_terms.txt;md5=17a2efdbd320ceda48a3521747e02dd9 \
file://license_terms/third_party_licenses.txt;md5=6273fa29eb26c0093e1a7deaef7bafec "
PROVIDES = "virtual/armcompiler"
ARMCLANG_VERSION = "DS500-BN-00026-r5p0-15rel0"
SRC_URI = "https://developer.arm.com/-/media/Files/downloads/compiler/${ARMCLANG_VERSION}.tgz;subdir=${ARMCLANG_VERSION}"
SRC_URI[md5sum] = "fbed6edf5eb211c45df7b8548a10535a"
SRC_URI[sha256sum] = "de3947525d9846a09cca52cfa84eb880e73f04398b778e4e599366d4c2416596"
S = "${WORKDIR}/${ARMCLANG_VERSION}"
do_install() {
install -d ${D}${datadir}/armclang/
# Commercial license flag set, so recipe will only install when explicitly agreed to it already
${S}/install_x86_64.sh --i-agree-to-the-contained-eula -d ${D}${datadir}/armclang/ --no-interactive
install -d ${D}${bindir}
# Symlink all executables into bindir
for f in ${D}${datadir}/armclang/bin/*; do
lnr $f ${D}${bindir}/$(basename $f)
done
}