#!/bin/bash | |
# Copyright lowRISC contributors. | |
# Licensed under the Apache License, Version 2.0, see LICENSE for details. | |
# SPDX-License-Identifier: Apache-2.0 | |
set -e | |
# build_tock.sh is a wrapper to invoke Cargo from Meson. This is a workaround | |
# solution to read the rust-toolchain file from the Tock repository and set the | |
# RUSTFLAGS environment variable. | |
TARGET="${1}" | |
MODE="${2}" | |
MANIFEST_PATH="${3}" | |
TARGET_DIR="${4}" | |
TOOLCHAIN_FILE="${5}" | |
export RUSTFLAGS="${6}" | |
if [[ "${MODE}" == "release" ]]; then | |
RELEASE_FLAG="--release" | |
fi | |
cargo +"$(cat ${TOOLCHAIN_FILE})" build \ | |
--target "${TARGET}" \ | |
--manifest-path "${MANIFEST_PATH}" \ | |
--target-dir "${TARGET_DIR}" \ | |
${RELEASE_FLAG} |