@@ -2,77 +2,33 @@ set -ex
2
2
3
3
. $( dirname $0 ) /env.sh
4
4
5
- install_deps () {
6
- if [[ ${DOCKER} == " i" ]]; then
7
- apt-get update
8
- apt-get install -y --no-install-recommends \
9
- ca-certificates curl
10
- fi
11
- }
12
-
13
5
install_qemu () {
14
- case $TARGET in
15
- mipsel-unknown-linux-gnu | \
16
- powerpc64le-unknown-linux-gnu)
6
+ case ${QEMU_ARCH :- $TRAVIS_OS_NAME } in
7
+ i386)
8
+ dpkg --add-architecture $QEMU_ARCH
17
9
apt-get install -y --no-install-recommends \
18
- qemu-user
10
+ binfmt-support qemu-user-static: $QEMU_ARCH
19
11
;;
20
- mips-unknown-linux-gnu | \
21
- powerpc64-unknown-linux-gnu)
22
- dpkg --add-architecture i386
12
+ linux)
23
13
apt-get update
24
14
apt-get install -y --no-install-recommends \
25
- qemu-user:i386
15
+ binfmt-support qemu-user-static
26
16
;;
27
17
esac
28
18
}
29
19
30
20
install_binutils () {
31
- case $TRAVIS_OS_NAME in
32
- osx)
33
- brew install binutils
34
- ;;
35
- esac
36
-
37
- case $TARGET in
38
- thumbv* -none-eabi)
39
- sudo apt-get install -y --no-install-recommends \
40
- gcc-arm-none-eabi
41
- ;;
42
- esac
43
- }
44
-
45
- install_c_toolchain () {
46
- case $TARGET in
47
- aarch64-unknown-linux-gnu)
48
- sudo apt-get install -y --no-install-recommends \
49
- gcc-aarch64-linux-gnu libc6-dev-arm64-cross
50
- ;;
51
- i586-unknown-linux-gnu)
52
- apt-get install -y --no-install-recommends \
53
- gcc libc6-dev-i386 lib32gcc-5-dev
54
- ;;
55
- mips-unknown-linux-gnu)
56
- apt-get install -y --no-install-recommends \
57
- gcc gcc-mips-linux-gnu libc6-dev libc6-dev-mips-cross
58
- ;;
59
- mipsel-unknown-linux-gnu)
60
- apt-get install -y --no-install-recommends \
61
- gcc gcc-mipsel-linux-gnu libc6-dev libc6-dev-mipsel-cross
62
- ;;
63
- powerpc64-unknown-linux-gnu)
64
- apt-get install -y --no-install-recommends \
65
- gcc gcc-powerpc64-linux-gnu libc6-dev libc6-dev-ppc64-cross
66
- ;;
67
- powerpc64le-unknown-linux-gnu)
68
- apt-get install -y --no-install-recommends \
69
- gcc gcc-powerpc64le-linux-gnu libc6-dev libc6-dev-ppc64el-cross
70
- ;;
71
- esac
21
+ if [[ $TRAVIS_OS_NAME == " osx" ]]; then
22
+ brew install binutils
23
+ fi
72
24
}
73
25
74
26
install_rust () {
75
- curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain=nightly
27
+ if [[ $TRAVIS_OS_NAME == " osx" ]]; then
28
+ curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain=nightly
29
+ else
30
+ rustup default nightly
31
+ fi
76
32
77
33
rustc -V
78
34
cargo -V
@@ -86,35 +42,18 @@ add_rustup_target() {
86
42
87
43
install_xargo () {
88
44
if [[ $CARGO == " xargo" ]]; then
89
- sudo apt-get install -y --no-install-recommends \
90
- libssh2-1
91
45
curl -sf " https://raw.githubusercontent.com/japaric/rust-everywhere/master/install.sh" | \
92
- bash -s -- --from japaric/xargo --at $HOME /.cargo/bin
93
- fi
94
- }
95
-
96
- configure_cargo () {
97
- if [[ $PREFIX ]]; then
98
- ${PREFIX} gcc -v
99
-
100
- mkdir -p .cargo
101
- cat >> .cargo/config << EOF
102
- [target.$TARGET ]
103
- linker = "${PREFIX} gcc"
104
- EOF
46
+ bash -s -- --from japaric/xargo --at /root/.cargo/bin
105
47
fi
106
48
}
107
49
108
50
main () {
109
- if [[ ${DOCKER:- n} != " y" ]]; then
110
- install_deps
51
+ if [[ $TRAVIS_OS_NAME == " osx" || ${IN_DOCKER_CONTAINER:- n} == " y" ]]; then
111
52
install_qemu
112
53
install_binutils
113
- install_c_toolchain
114
54
install_rust
115
55
add_rustup_target
116
56
install_xargo
117
- configure_cargo
118
57
fi
119
58
}
120
59
0 commit comments