Alan Green | 9b7a93d | 2021-03-11 14:24:52 +1100 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
Alan Green | 7c5639e | 2021-05-05 17:10:41 +1000 | [diff] [blame] | 3 | # Copyright 2021 The Chromium OS Authors. All rights reserved. |
| 4 | # Use of this source code is governed by a BSD-style license that can be |
| 5 | # found in the LICENSE file. |
| 6 | |
Alan Green | 9b7a93d | 2021-03-11 14:24:52 +1100 | [diff] [blame] | 7 | if [ "${BASH_SOURCE-}" = "$0" ]; then |
| 8 | echo -e "This script should be sourced, not run:\nsource $0" >&2 |
| 9 | exit 1 |
| 10 | fi |
| 11 | |
| 12 | # Exports environment variables needed by parts of this project. |
| 13 | |
| 14 | # The following environment variables should already be set to appropriate |
| 15 | # values: |
| 16 | # RADIANT_DIR (e.g. $HOME/lscc/radiant/2.2/bin/lin64) |
| 17 | # |
| 18 | # If RADIANT_DIR isn't set, then only simulation can be used. |
| 19 | |
Alan Green | 397c934 | 2021-05-06 07:11:48 +1000 | [diff] [blame] | 20 | HPS_ROOT=$(realpath "$(dirname "${BASH_SOURCE[0]}")") |
Alan Green | 9b7a93d | 2021-03-11 14:24:52 +1100 | [diff] [blame] | 21 | |
| 22 | RUSTC="$(which rustc)" |
| 23 | # handle the case where rustc is not yet installed |
Alan Green | 397c934 | 2021-05-06 07:11:48 +1000 | [diff] [blame] | 24 | if [ -z "${RUSTC}" ]; then |
Alan Green | 9b7a93d | 2021-03-11 14:24:52 +1100 | [diff] [blame] | 25 | echo "rustc not found" |
| 26 | RUST_DIR="" |
| 27 | else |
| 28 | RUST_DIR=$(dirname "${RUSTC}") |
| 29 | fi |
Alan Green | 397c934 | 2021-05-06 07:11:48 +1000 | [diff] [blame] | 30 | export HOSTPATH="${HPS_ROOT}/build/host" |
Alan Green | 9b7a93d | 2021-03-11 14:24:52 +1100 | [diff] [blame] | 31 | |
David Lattimore | 420174f | 2021-05-25 11:16:34 +1000 | [diff] [blame] | 32 | export RUST_VERSION=stable |
Alan Green | 9b7a93d | 2021-03-11 14:24:52 +1100 | [diff] [blame] | 33 | |
David Lattimore | 9c69778 | 2021-10-11 17:01:24 +1100 | [diff] [blame] | 34 | # Nightly is only used for running our tests with MIRI. None of our code |
| 35 | # actually needs nightly. |
| 36 | export RUST_NIGHTLY_VERSION=nightly-2021-10-10 |
| 37 | |
Alan Green | 9b7a93d | 2021-03-11 14:24:52 +1100 | [diff] [blame] | 38 | # We completely overwrite any existing PATH. This ensures that we're not getting |
| 39 | # things from unexpected places. |
Alan Green | 397c934 | 2021-05-06 07:11:48 +1000 | [diff] [blame] | 40 | PATH="/usr/sbin:/usr/bin:/sbin:/bin" |
Dan Callaghan | 96bfde9 | 2021-09-07 03:44:54 +0000 | [diff] [blame] | 41 | PATH="${HPS_ROOT}/third_party/gn/out:${PATH}" |
Alan Green | 54b38e7 | 2021-08-20 14:01:45 +1000 | [diff] [blame] | 42 | PATH="${HPS_ROOT}/third_party/installed/bin:${PATH}" |
| 43 | PATH="${RUST_DIR}:${PATH}" |
| 44 | PATH="${HOSTPATH}:${PATH}" |
Alan Green | 397c934 | 2021-05-06 07:11:48 +1000 | [diff] [blame] | 45 | export PATH |
Alan Green | 9b7a93d | 2021-03-11 14:24:52 +1100 | [diff] [blame] | 46 | |
Alan Green | 397c934 | 2021-05-06 07:11:48 +1000 | [diff] [blame] | 47 | # RADIANT_DIR is optionally defined |
| 48 | if [ -d "${RADIANT_DIR:-}" ]; then |
| 49 | export PATH="${PATH}:${RADIANT_DIR}" |
Alan Green | 9b7a93d | 2021-03-11 14:24:52 +1100 | [diff] [blame] | 50 | fi |
| 51 | |
| 52 | # This speeds up recompilation of verilator generated code quit a bit. |
| 53 | export OBJCACHE=ccache |
| 54 | export CC="ccache gcc" |
| 55 | |
| 56 | # We deliberately clear anything that may have already been in PYTHONPATH to |
| 57 | # prevent accidentally pulling in anything outside this project. |
Alan Green | 8c7d34b | 2021-05-05 15:12:54 +1000 | [diff] [blame] | 58 | PYTHONPATH="${HPS_ROOT}/../../.." # For chromite |
| 59 | PYTHONPATH="${PYTHONPATH}:${HPS_ROOT}/python" |
Alan Green | 9b7a93d | 2021-03-11 14:24:52 +1100 | [diff] [blame] | 60 | for i in "${HPS_ROOT}/third_party/python"/*; do |
| 61 | PYTHONPATH="${PYTHONPATH}:${i}" |
| 62 | done |
| 63 | export PYTHONPATH |
| 64 | |
Alan Green | 397c934 | 2021-05-06 07:11:48 +1000 | [diff] [blame] | 65 | # List of directories with Rust source |
| 66 | export HPS_RUST_DIRS=( |
David Lattimore | 28a3381 | 2021-11-17 09:26:31 +1100 | [diff] [blame] | 67 | rust |
David Lattimore | 417ea75 | 2021-11-17 10:26:52 +1100 | [diff] [blame^] | 68 | rust/factory_tester |
| 69 | rust/mcu |
David Lattimore | 28a3381 | 2021-11-17 09:26:31 +1100 | [diff] [blame] | 70 | rust/riscv |
David Lattimore | d544c7b | 2021-04-07 08:36:34 +1000 | [diff] [blame] | 71 | ) |