blob: 0f8778793c9e41f2ea9f796e1af9086036440081 [file] [log] [blame]
Silvestrs Timofejevsf590dc72020-10-26 15:12:40 +00001#!/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# invoke_cargo.sh is a wrapper to invoke Cargo from Meson. This is a workaround
9# solution to read the rust-toolchain file and set the the relevant environment
10# variables.
11
12CARGO="${1}"
13CARGO_FLAGS="${2}"
14export RUSTFLAGS="${3}"
15
16TOOLCHAIN_FILE="${4}"
17if [[ -f $TOOLCHAIN_FILE ]]; then
18 TOOLCHAIN="$(cat ${TOOLCHAIN_FILE})"
19fi
20
21export MESON_SOURCE_ROOT="${5}"
22export MESON_BUILD_ROOT="${6}"
23
Silvestrs Timofejevsf00a4432021-03-30 17:53:34 +010024if [ "${CARGO_TEST}" == 1 ]; then
25 echo "CARGO TEST BUILD!"
26 "${CARGO}" +"${TOOLCHAIN}" test ${CARGO_FLAGS} --workspace
27 "${CARGO}" +"${TOOLCHAIN}" build ${CARGO_FLAGS}
28else
29 "${CARGO}" +"${TOOLCHAIN}" build ${CARGO_FLAGS}
30fi