blob: 7798642087eaf0f23b63277f63a3c95daa635bf3 [file] [log] [blame]
Dean Birch62c4f082020-01-17 16:13:26 +00001#!/bin/bash
2#-------------------------------------------------------------------------------
3# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
4#
5# SPDX-License-Identifier: BSD-3-Clause
6#
7#-------------------------------------------------------------------------------
8
9#
10# Builds a single configuration on Trusted Firmware M.
11# Relies on environment variables pre-populated.
12# These variables can be obtained using configs.py.
13# Expected to have trusted-firmware-m cloned to same level as this git tree
14#
15
16set -ex
Dean Birchd0f9f8c2020-03-26 11:10:33 +000017
18if [ -z "$CONFIG_NAME" ] ; then
19 echo "Set CONFIG_NAME to run a build."
20 exit 1
21fi
22
Fathi Boudraa43b5ba2020-11-19 22:33:50 +010023# FIXME: workaround for Arm Clang license server on ci.trustedfirmware.org
24[[ ${JENKINS_URL} == *trustedfirmware.org* ]] && \
25 export ARMLMD_LICENSE_FILE=${ARMLMD_LICENSE_FILE:-27000@ci.trustedfirmware.org}
26
Karl Zhang4a45dac2020-06-10 14:03:10 +080027set +e
28echo "output current build environment"
29cat /etc/issue
30uname -a
31grep -c ^processor /proc/cpuinfo
32armclang --version
33arm-none-eabi-gcc --version
34cmake --version
35python --version
36make --version
37
38set -ex
Dean Birchd0f9f8c2020-03-26 11:10:33 +000039build_commands=$(python3 tf-m-ci-scripts/configs.py -b -g all $CONFIG_NAME)
40
Karl Zhangf6f467e2020-07-10 16:24:45 +080041if [ $CODE_COVERAGE_EN = "TRUE" ] && [[ $CONFIG_NAME =~ "GNUARM" ]] ; then
42 build_commands=${build_commands/-DCOMPILER=GNUARM/-DCOMPILER=GNUARM -DCODE_COVERAGE_EN=TRUE}
43 echo "Flag: Add compiler flag for build with code coverage supported."
44 echo $build_commands
45fi
46
Dean Birchd0f9f8c2020-03-26 11:10:33 +000047if [ -z "$build_commands" ] ; then
48 echo "No build commands found."
49 exit 1
50fi
51
Xinyu Zhangb708f572020-09-15 11:43:46 +080052cd mbedtls
53git apply ../trusted-firmware-m/lib/ext/mbedcrypto/*.patch
Xinyu Zhangb708f572020-09-15 11:43:46 +080054
55mkdir ../trusted-firmware-m/build
56cd ../trusted-firmware-m/build
Dean Birchd0f9f8c2020-03-26 11:10:33 +000057
58eval "set -ex ; $build_commands"
Xinyu Zhangb708f572020-09-15 11:43:46 +080059
Xinyu Zhang6db162c2020-09-29 10:52:19 +080060# TODO: Remove the copy logic when LAVA server could read artifacts directly generated by new build system
Xinyu Zhang0e334e32020-09-27 11:42:47 +080061set +e
62
Xinyu Zhangb708f572020-09-15 11:43:46 +080063mkdir install/outputs/fvp
Xinyu Zhang6db162c2020-09-29 10:52:19 +080064cp -r bin/* install/outputs/fvp/
Xinyu Zhang0e334e32020-09-27 11:42:47 +080065
66cd install/outputs
Xinyu Zhang6db162c2020-09-29 10:52:19 +080067cp -r CYPRESS/* .
68cp -r MPS2/* .
69cp -r MPS3/* .
Xinyu Zhang0e334e32020-09-27 11:42:47 +080070
71for file in `find | grep bl2`
Xinyu Zhangb708f572020-09-15 11:43:46 +080072do
73 newfile=`echo $file | sed "s/bl2/mcuboot/g"`
Xinyu Zhang6db162c2020-09-29 10:52:19 +080074 cp $file $newfile
75done
76
77for file in `find | grep s_ns_signed`
78do
79 newfile=`echo $file | sed "s/s_ns_signed/sign/g"`
80 cp $file $newfile
Xinyu Zhangb708f572020-09-15 11:43:46 +080081done
Xinyu Zhang0e334e32020-09-27 11:42:47 +080082
83set -e