-
Notifications
You must be signed in to change notification settings - Fork 508
/
install-cross.sh
43 lines (36 loc) · 979 Bytes
/
install-cross.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/env bash
set -euxo pipefail
main() {
local target=
if [[ "$(os)" == "ubuntu-latest" || "$(os)" == Linux ]]; then
target=x86_64-unknown-linux-musl
# shellcheck disable=SC2209
sort=sort
else
target=x86_64-apple-darwin
sort=gsort
fi
# This fetches latest stable release
local tag
tag=$(git ls-remote --tags --refs --exit-code https://github.com/rust-embedded/cross \
| cut -d/ -f3 \
| grep -E '^v[0.1.0-9.]+$' \
| $sort --version-sort \
| tail -n1)
curl -LSfs https://japaric.github.io/trust/install.sh | \
sh -s -- \
--force \
--git rust-embedded/cross \
--tag "$tag" \
--target $target
cross --version
}
# get an os name, either github's pre-set one or the result of uname
os() {
if [ -n "${OS_NAME:-}" ]; then
echo "$OS_NAME"
return
fi
uname
}
main