Commit adds configuration for mesh with mbedtls PSA to CI BabbleSim tests as well as emulation of the Internal Trustable Storage(ITS) based on Zephyr's settings to run in parallel environment. Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
71 lines
2.2 KiB
Plaintext
71 lines
2.2 KiB
Plaintext
# Copyright 2018 Oticon A/S
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
source ${ZEPHYR_BASE}/tests/bsim/sh_common.source
|
|
|
|
function print_error_info(){
|
|
echo -e "\033[0;31mFailure building ${app} ${conf_file} for ${BOARD}\033[0m\n\
|
|
You can rebuild it with\n\
|
|
${cmake_cmd[@]} && ninja ${ninja_args}"
|
|
}
|
|
|
|
function _compile(){
|
|
: "${app:?app must be defined}"
|
|
|
|
local app_root="${app_root:-${ZEPHYR_BASE}}"
|
|
local conf_file="${conf_file:-prj.conf}"
|
|
local conf_overlay="${conf_overlay:-""}"
|
|
|
|
local cmake_args="${cmake_args:-"-DCONFIG_COVERAGE=y \
|
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"}"
|
|
local ninja_args="${ninja_args:-""}"
|
|
local cc_flags="${cc_flags:-"-Werror"}"
|
|
|
|
if [ "${conf_overlay}" ]; then
|
|
overlays="${conf_overlay//;/_}"
|
|
local exe_basename="${exe_name:-bs_${BOARD}_${app}_${conf_file}_${overlays}}"
|
|
else
|
|
local exe_basename="${exe_name:-bs_${BOARD}_${app}_${conf_file}}"
|
|
fi
|
|
|
|
local exe_basename=$(echo ${exe_basename} | tr \"/\\.\; _ )
|
|
local exe_name=${BSIM_OUT_PATH}/bin/$exe_basename
|
|
local map_file_name=${exe_name}.Tsymbols
|
|
|
|
local this_dir=${WORK_DIR}/${app}/${exe_basename}
|
|
|
|
local modules_arg="${ZEPHYR_MODULES:+-DZEPHYR_MODULES=${ZEPHYR_MODULES}}"
|
|
|
|
echo "Building $exe_name"
|
|
|
|
local ret=0
|
|
|
|
local cmake_cmd=(cmake -GNinja -DBOARD_ROOT=${BOARD_ROOT} -DBOARD=${BOARD})
|
|
if [ $conf_file != "prj.conf" ]; then
|
|
local cmake_cmd+=( -DCONF_FILE=${conf_file})
|
|
fi
|
|
local cmake_cmd+=( -DOVERLAY_CONFIG="${conf_overlay}" \
|
|
${modules_arg} \
|
|
${cmake_args} -DCMAKE_C_FLAGS=\"${cc_flags}\" ${app_root}/${app})
|
|
|
|
# Set INCR_BUILD when calling to only do an incremental build
|
|
if [ ! -v INCR_BUILD ] || [ ! -d "${this_dir}" ]; then
|
|
[ -d "${this_dir}" ] && rm ${this_dir} -rf
|
|
mkdir -p ${this_dir} && cd ${this_dir}
|
|
${cmake_cmd[@]} &> cmake.out || \
|
|
{ ret="$?"; print_error_info ; cat cmake.out && return $ret; }
|
|
else
|
|
cd ${this_dir}
|
|
fi
|
|
ninja ${ninja_args} &> ninja.out || \
|
|
{ ret="$?"; print_error_info ; cat ninja.out && return $ret; }
|
|
cp ${this_dir}/zephyr/zephyr.exe ${exe_name}
|
|
|
|
nm ${exe_name} | grep -v " [U|w] " | sort | cut -d" " -f1,3 > ${map_file_name}
|
|
sed -i "1i $(wc -l ${map_file_name} | cut -d" " -f1)" ${map_file_name}
|
|
}
|
|
|
|
function compile(){
|
|
run_in_background _compile
|
|
}
|