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 | |
| 12 | TARGET="${1}" |
Jon Flatley | 3d95888 | 2020-02-25 07:38:31 -0500 | [diff] [blame] | 13 | MODE="${2}" |
| 14 | MANIFEST_PATH="${3}" |
| 15 | TARGET_DIR="${4}" |
| 16 | TOOLCHAIN_FILE="${5}" |
Jon Flatley | 1ea5bf0 | 2020-02-20 12:47:49 -0500 | [diff] [blame] | 17 | export MESON_SOURCE_ROOT="${6}" |
| 18 | export MESON_BUILD_ROOT="${7}" |
| 19 | export RUSTFLAGS="${8}" |
Jon Flatley | 3d95888 | 2020-02-25 07:38:31 -0500 | [diff] [blame] | 20 | |
| 21 | if [[ "${MODE}" == "release" ]]; then |
| 22 | RELEASE_FLAG="--release" |
| 23 | fi |
Jon Flatley | 61a033f | 2020-02-05 14:28:51 -0500 | [diff] [blame] | 24 | |
| 25 | cargo +"$(cat ${TOOLCHAIN_FILE})" build \ |
| 26 | --target "${TARGET}" \ |
| 27 | --manifest-path "${MANIFEST_PATH}" \ |
Jon Flatley | 3d95888 | 2020-02-25 07:38:31 -0500 | [diff] [blame] | 28 | --target-dir "${TARGET_DIR}" \ |
Silvestrs Timofejevs | ee0e68a | 2020-05-04 15:03:21 +0100 | [diff] [blame] | 29 | --features="${TOCK_FEATURES}" \ |
Jon Flatley | 3d95888 | 2020-02-25 07:38:31 -0500 | [diff] [blame] | 30 | ${RELEASE_FLAG} |