Jon Flatley | 61a033f | 2020-02-05 14:28:51 -0500 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # Copyright lowRISC contributors. |
| 3 | # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| 4 | # SPDX-License-Identifier: Apache-2.0 |
| 5 | |
| 6 | set -e |
| 7 | |
| 8 | # build_tock.sh is a wrapper to invoke Cargo from Meson. This is a workaround |
| 9 | # solution to read the rust-toolchain file from the Tock repository and set the |
| 10 | # RUSTFLAGS environment variable. |
| 11 | |
Sam Elliott | 08f926f | 2020-11-20 13:09:14 +0000 | [diff] [blame] | 12 | CARGO="${1}" |
| 13 | TARGET="${2}" |
| 14 | MODE="${3}" |
| 15 | MANIFEST_PATH="${4}" |
| 16 | TARGET_DIR="${5}" |
| 17 | TOOLCHAIN_FILE="${6}" |
| 18 | export MESON_SOURCE_ROOT="${7}" |
| 19 | export MESON_BUILD_ROOT="${8}" |
| 20 | export RUSTFLAGS="${9}" |
Jon Flatley | 3d95888 | 2020-02-25 07:38:31 -0500 | [diff] [blame] | 21 | |
| 22 | if [[ "${MODE}" == "release" ]]; then |
Sam Elliott | 08f926f | 2020-11-20 13:09:14 +0000 | [diff] [blame] | 23 | RELEASE_FLAG="--release" |
Jon Flatley | 3d95888 | 2020-02-25 07:38:31 -0500 | [diff] [blame] | 24 | fi |
Jon Flatley | 61a033f | 2020-02-05 14:28:51 -0500 | [diff] [blame] | 25 | |
Sam Elliott | 08f926f | 2020-11-20 13:09:14 +0000 | [diff] [blame] | 26 | "${CARGO}" +"$(cat ${TOOLCHAIN_FILE})" build \ |
| 27 | --target "${TARGET}" \ |
| 28 | --manifest-path "${MANIFEST_PATH}" \ |
| 29 | --target-dir "${TARGET_DIR}" \ |
| 30 | --features="${TOCK_FEATURES}" \ |
| 31 | ${RELEASE_FLAG} |