Skip to content

Commit 65aea18

Browse files
committed
Move off the old cross builder where possible
Many of the toolchains in the old cross builder came from upstream Ubuntu packages, so just use those but in their own separate container we assemble locally. No need to download multi-gigabyte docker images when all we need is one toolchain!
1 parent 4342f72 commit 65aea18

File tree

10 files changed

+94
-16
lines changed

10 files changed

+94
-16
lines changed

.travis.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,31 +49,31 @@ matrix:
4949
SKIP_TESTS=1
5050
- os: linux
5151
env: TARGET=powerpc64-unknown-linux-gnu
52-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
52+
DOCKER=powerpc64-unknown-linux-gnu
5353
SKIP_TESTS=1
5454
- os: linux
5555
env: TARGET=powerpc64le-unknown-linux-gnu
56-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
56+
DOCKER=powerpc64le-unknown-linux-gnu
5757
SKIP_TESTS=1
5858
- os: linux
5959
env: TARGET=mips-unknown-linux-gnu
60-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
60+
DOCKER=mips-unknown-linux-gnu
6161
SKIP_TESTS=1
6262
- os: linux
6363
env: TARGET=mipsel-unknown-linux-gnu
64-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
64+
DOCKER=mipsel-unknown-linux-gnu
6565
SKIP_TESTS=1
6666
- os: linux
6767
env: TARGET=mips64-unknown-linux-gnuabi64
68-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
68+
DOCKER=mips64-unknown-linux-gnuabi64
6969
SKIP_TESTS=1
7070
- os: linux
7171
env: TARGET=mips64el-unknown-linux-gnuabi64
72-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
72+
DOCKER=mips64el-unknown-linux-gnuabi64
7373
SKIP_TESTS=1
7474
- os: linux
7575
env: TARGET=s390x-unknown-linux-gnu
76-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
76+
DOCKER=s390x-unknown-linux-gnu
7777
SKIP_TESTS=1
7878

7979
# Android use a local docker image

ci/build-run-docker.sh

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ fi
1414

1515
docker run \
1616
--entrypoint bash \
17-
-u `id -u`:`id -g` \
18-
-v $HOME/rust:/travis-rust:ro \
19-
-v `pwd`:/buildslave:ro \
20-
-v `pwd`/target:/buildslave/target \
21-
-e TARGET=$TARGET \
22-
-e SKIP_TESTS=$SKIP_TESTS \
23-
-it $DOCKER \
17+
--user `id -u`:`id -g` \
18+
--volume `rustc --print sysroot`:/travis-rust:ro \
19+
--volume `pwd`:/src:ro \
20+
--volume `pwd`/target:/src/target \
21+
--workdir /src \
22+
--env TARGET=$TARGET \
23+
--env SKIP_TESTS=$SKIP_TESTS \
24+
$DOCKER \
2425
ci/run-docker.sh
2526

2627
# check that rustup-init was built with ssl support
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ubuntu:16.04
2+
3+
RUN apt-get update && apt-get install -y \
4+
gcc-mips-linux-gnu \
5+
curl \
6+
ca-certificates \
7+
perl \
8+
make \
9+
gcc
10+
11+
ENV CC_mips_unknown_linux_gnu=mips-linux-gnu-gcc
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ubuntu:16.04
2+
3+
RUN apt-get update && apt-get install -y \
4+
gcc-mips64-linux-gnuabi64 \
5+
curl \
6+
ca-certificates \
7+
perl \
8+
make \
9+
gcc
10+
11+
ENV CC_mips64_unknown_linux_gnuabi64=mips64-linux-gnuabi64-gcc
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ubuntu:16.04
2+
3+
RUN apt-get update && apt-get install -y \
4+
gcc-mips64el-linux-gnuabi64 \
5+
curl \
6+
ca-certificates \
7+
perl \
8+
make \
9+
gcc
10+
11+
ENV CC_mips64el_unknown_linux_gnuabi64=mips64el-linux-gnuabi64-gcc
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ubuntu:16.04
2+
3+
RUN apt-get update && apt-get install -y \
4+
gcc-mipsel-linux-gnu \
5+
curl \
6+
ca-certificates \
7+
perl \
8+
make \
9+
gcc
10+
11+
ENV CC_mipsel_unknown_linux_gnu=mipsel-linux-gnu-gcc
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ubuntu:16.04
2+
3+
RUN apt-get update && apt-get install -y \
4+
gcc-powerpc64-linux-gnu \
5+
curl \
6+
ca-certificates \
7+
perl \
8+
make \
9+
gcc
10+
11+
ENV CC_powerpc64_unknown_linux_gnu=powerpc64-linux-gnu-gcc
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ubuntu:16.04
2+
3+
RUN apt-get update && apt-get install -y \
4+
gcc-powerpc64le-linux-gnu \
5+
curl \
6+
ca-certificates \
7+
perl \
8+
make \
9+
gcc
10+
11+
ENV CC_powerpc64le_unknown_linux_gnu=powerpc64le-linux-gnu-gcc
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ubuntu:16.04
2+
3+
RUN apt-get update && apt-get install -y \
4+
gcc-s390x-linux-gnu \
5+
curl \
6+
ca-certificates \
7+
perl \
8+
make \
9+
gcc
10+
11+
ENV CC_s390x_unknown_linux_gnu=s390x-linux-gnu-gcc

ci/run-docker.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ case $TARGET in
112112
;;
113113
powerpc64-*-linux-*)
114114
OPENSSL_OS=linux-ppc64
115-
OPENSSL_CC=powerpc64-linux-gnu-gcc-5
115+
OPENSSL_CC=powerpc64-linux-gnu-gcc
116116
OPENSSL_AR=powerpc64-linux-gnu-ar
117117
OPENSSL_CFLAGS=-m64
118118
;;
@@ -179,7 +179,7 @@ else
179179

180180
# Travis will cache the parent directory. That's fine, but want a way of marking the
181181
# install "complete". In this setup, if the build fails there will be no -final and
182-
# the whole thing starts again (which is fine).
182+
# the whole thing starts again (which is fine).
183183
# The same reasoning is why to cache the install-target directory rather than
184184
# the build directory in the first place (make should be able to sort itself out in
185185
# that case, but that's relying on intuitive timestamps in the presence of caching etc)

0 commit comments

Comments
 (0)