blob: d564b0bef1b8ef3fd9c737fbf0fbf5d47e695f99 [file] [log] [blame]
Jon Flatley61a033f2020-02-05 14:28:51 -05001#!/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
6set -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 Elliott08f926f2020-11-20 13:09:14 +000012CARGO="${1}"
13TARGET="${2}"
14MODE="${3}"
15MANIFEST_PATH="${4}"
16TARGET_DIR="${5}"
17TOOLCHAIN_FILE="${6}"
18export MESON_SOURCE_ROOT="${7}"
19export MESON_BUILD_ROOT="${8}"
20export RUSTFLAGS="${9}"
Jon Flatley3d958882020-02-25 07:38:31 -050021
22if [[ "${MODE}" == "release" ]]; then
Sam Elliott08f926f2020-11-20 13:09:14 +000023 RELEASE_FLAG="--release"
Jon Flatley3d958882020-02-25 07:38:31 -050024fi
Jon Flatley61a033f2020-02-05 14:28:51 -050025
Sam Elliott08f926f2020-11-20 13:09:14 +000026"${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}