| #!/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} |