Skip to content

Commit a73c4f9

Browse files
bors[bot]malbarbo
andcommitted
Merge #218
218: Update musl targets and add new ones r=Dylan-DPC a=malbarbo Use https://github.com/richfelker/musl-cross-make to build the musl toolchain, update base image to Ubuntu 18.04 and add new target. See the individual commits. Co-authored-by: Marco A L Barbosa <[email protected]>
2 parents 1e40e45 + adefd55 commit a73c4f9

File tree

17 files changed

+386
-91
lines changed

17 files changed

+386
-91
lines changed

.travis.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,9 @@ matrix:
99
# Linux
1010
- env: TARGET=aarch64-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
1111
- env: TARGET=arm-unknown-linux-gnueabi CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
12-
- env: TARGET=arm-unknown-linux-musleabi STD=1 RUN=1
1312
- env: TARGET=armv7-unknown-linux-gnueabihf CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
14-
- env: TARGET=armv7-unknown-linux-musleabihf STD=1 RUN=1
1513
- env: TARGET=i586-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
1614
- env: TARGET=i686-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
17-
- env: TARGET=i686-unknown-linux-musl STD=1 OPENSSL=0.5.5 RUN=1
1815
- env: TARGET=mips-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.5.5 RUN=1
1916
- env: TARGET=mips64-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1
2017
- env: TARGET=mips64el-unknown-linux-gnuabi64 CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17 RUN=1
@@ -25,6 +22,23 @@ matrix:
2522
- env: TARGET=s390x-unknown-linux-gnu CPP=1 DYLIB=1 STD=1 OPENSSL=0.7.17
2623
- env: TARGET=sparc64-unknown-linux-gnu CPP=1 DYLIB=1 OPENSSL=0.5.5 RUN=1
2724
- env: TARGET=x86_64-unknown-linux-gnu CPP=1 DYLIB=1 OPENSSL=0.5.5 RUN=1 DEPLOY=1
25+
26+
# Linux musl
27+
- env: TARGET=aarch64-unknown-linux-musl STD=1 OPENSSL=0.5.5 RUN=1
28+
- env: TARGET=arm-unknown-linux-musleabihf STD=1 OPENSSL=0.5.5 RUN=1
29+
- env: TARGET=arm-unknown-linux-musleabi STD=1 OPENSSL=0.5.5 RUN=1
30+
# FIXME: enabling openssl makes cargo build fails with:
31+
# undefined reference to `__sync_sub_and_fetch_4'
32+
# undefined reference to `__sync_add_and_fetch_4'
33+
- env: TARGET=armv5te-unknown-linux-musleabi STD=1 RUN=1
34+
- env: TARGET=armv7-unknown-linux-musleabihf STD=1 OPENSSL=0.5.5 RUN=1
35+
- env: TARGET=i586-unknown-linux-musl STD=1 OPENSSL=0.5.5 RUN=1
36+
- env: TARGET=i686-unknown-linux-musl STD=1 OPENSSL=0.5.5 RUN=1
37+
# We only test CPP in mips and mipsl because they use dynamic link by default.
38+
# The other targets fails with: undefined reference to `__dso_handle'
39+
# See https://github.com/rust-lang/rust/issues/36710
40+
- env: TARGET=mips-unknown-linux-musl CPP=1 STD=1 OPENSSL=0.5.5 RUN=1
41+
- env: TARGET=mipsel-unknown-linux-musl CPP=1 STD=1 OPENSSL=0.5.5 RUN=1
2842
- env: TARGET=x86_64-unknown-linux-musl STD=1 OPENSSL=0.5.5 RUN=1 DEPLOY=1
2943

3044
# Android

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ This project adheres to [Semantic Versioning](http://semver.org/).
66
## [Unreleased]
77

88
- Bump OpenSSL version to 1.0.2p.
9+
- Bump musl version to 1.1.20.
10+
- Bump Ubuntu to 18.04 to all musl targets.
11+
- Bump gcc version to 6.3.0 for all musl targets.
12+
- OpenSSL support for the `arm-unknown-linux-musleabi` target.
13+
- OpenSSL support for the `armv7-unknown-linux-musleabihf` target.
14+
- Build and test support for `aarch64-unknown-linux-musl`, `arm-unknown-linux-musleabihf`,
15+
`armv5te-unknown-linux-musleabi`, `i586-unknown-linux-musl`, `mips-unknown-linux-musl`,
16+
add `mipsel-unknown-linux-musl` targets.
917

1018
## [v0.1.14] - 2017-11-22
1119

README.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -194,23 +194,29 @@ worst, "hang" (never terminate).
194194
|--------------------------------------|--------|---------|---------|:---:|-------|:------:|
195195
| `aarch64-linux-android` [5] | N/A | 4.9 | 1.0.2p || N/A ||
196196
| `aarch64-unknown-linux-gnu` | 2.19 | 4.8.2 | 1.0.2p || 2.8.0 ||
197+
| `aarch64-unknown-linux-musl` | 1.1.20 | 6.3.0 | 1.0.2p | | 2.8.0 ||
197198
| `arm-linux-androideabi` [5] | N/A | 4.9 | 1.0.2p || N/A ||
198199
| `arm-unknown-linux-gnueabi` | 2.19 | 4.8.2 | 1.0.2p || 2.8.0 ||
199-
| `arm-unknown-linux-musleabi` | 1.1.15 | 5.3.1 | N/A | | 2.8.0 ||
200+
| `arm-unknown-linux-musleabi` | 1.1.20 | 6.3.0 | 1.0.2p | | 2.8.0 ||
201+
| `arm-unknown-linux-musleabihf` | 1.1.20 | 6.3.0 | 1.0.2p | | 2.8.0 ||
202+
| `armv5te-unknown-linux-musleabi` | 1.1.20 | 6.3.0 | N/A | | 2.8.0 ||
200203
| `armv7-linux-androideabi` [5] | N/A | 4.9 | 1.0.2p || N/A ||
201204
| `armv7-unknown-linux-gnueabihf` | 2.15 | 4.6.2 | 1.0.2p || 2.8.0 ||
202-
| `armv7-unknown-linux-musleabihf` | 1.1.15 | 5.3.1 | N/A | | 2.8.0 ||
203-
| `asmjs-unknown-emscripten` [4] | 1.1.15 | 1.37.13 | N/A || N/A ||
205+
| `armv7-unknown-linux-musleabihf` | 1.1.20 | 6.3.0 | 1.0.2p | | 2.8.0 ||
206+
| `asmjs-unknown-emscripten` [4] | 1.1.20 | 1.37.13 | N/A || N/A ||
204207
| `i586-unknown-linux-gnu` | 2.23 | 5.3.1 | 1.0.2p || N/A ||
208+
| `i586-unknown-linux-musl` | 1.1.20 | 6.3.0 | 1.0.2p | | N/A ||
205209
| `i686-linux-android` [5] | N/A | 4.9 | 1.0.2p || N/A ||
206210
| `i686-pc-windows-gnu` | N/A | 7.3.0 | N/A || N/A ||
207211
| `i686-unknown-freebsd` [1] | 10.2 | 5.3.0 | 1.0.2p | | N/A | |
208212
| `i686-unknown-linux-gnu` | 2.15 | 4.6.2 | 1.0.2p || N/A ||
209-
| `i686-unknown-linux-musl` | 1.1.15 | 5.3.1 | 1.0.2p | | N/A ||
213+
| `i686-unknown-linux-musl` | 1.1.20 | 6.3.0 | 1.0.2p | | N/A ||
210214
| `mips-unknown-linux-gnu` | 2.23 | 5.3.1 | 1.0.2p || 2.8.0 ||
215+
| `mips-unknown-linux-musl` | 1.1.20 | 6.3.0 | 1.0.2p || 2.8.0 ||
211216
| `mips64-unknown-linux-gnuabi64` | 2.23 | 5.3.1 | 1.0.2p || 2.8.0 ||
212217
| `mips64el-unknown-linux-gnuabi64` | 2.23 | 5.3.1 | 1.0.2p || 2.8.0 ||
213218
| `mipsel-unknown-linux-gnu` | 2.23 | 5.3.1 | 1.0.2p || 2.8.0 ||
219+
| `mipsel-unknown-linux-musl` | 1.1.20 | 6.3.0 | 1.0.2p || 2.8.0 ||
214220
| `powerpc-unknown-linux-gnu` | 2.19 | 4.8.2 | 1.0.2p || 2.7.1 ||
215221
| `powerpc64-unknown-linux-gnu` | 2.19 | 4.8.2 | 1.0.2p || 2.7.1 ||
216222
| `powerpc64le-unknown-linux-gnu` | 2.19 | 4.8.2 | 1.0.2p || 2.7.1 ||
@@ -228,7 +234,7 @@ worst, "hang" (never terminate).
228234
| `x86_64-unknown-dragonfly` [1] [2] | 4.6.0 | 5.3.0 | 1.0.2p || N/A | |
229235
| `x86_64-unknown-freebsd` [1] | 10.2 | 5.3.0 | 1.0.2p | | N/A | |
230236
| `x86_64-unknown-linux-gnu` | 2.15 | 4.6.2 | 1.0.2p || N/A ||
231-
| `x86_64-unknown-linux-musl` | 1.1.15 | 5.3.1 | 1.0.2p | | N/A ||
237+
| `x86_64-unknown-linux-musl` | 1.1.20 | 6.3.0 | 1.0.2p | | N/A ||
232238
| `x86_64-unknown-netbsd`[1] | 7.0 | 5.3.0 | 1.0.2p || N/A | |
233239

234240
[1] For *BSD and Solaris targets, the libc column indicates the OS release version from
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
FROM ubuntu:18.04
2+
3+
RUN apt-get update && \
4+
apt-get install -y --no-install-recommends \
5+
ca-certificates \
6+
cmake \
7+
gcc \
8+
libc6-dev \
9+
make \
10+
pkg-config
11+
12+
COPY xargo.sh /
13+
RUN bash /xargo.sh
14+
15+
COPY qemu.sh /
16+
RUN bash /qemu.sh aarch64
17+
18+
COPY musl.sh /
19+
RUN bash /musl.sh TARGET=aarch64-linux-musl
20+
21+
COPY openssl.sh /
22+
RUN bash /openssl.sh linux-aarch64 aarch64-linux-musl-
23+
24+
# Allows qemu run dynamic linked binaries
25+
RUN ln -sf \
26+
/usr/local/aarch64-linux-musl/lib/libc.so \
27+
/usr/local/aarch64-linux-musl/lib/ld-musl-aarch64.so.1
28+
ENV QEMU_LD_PREFIX=/usr/local/aarch64-linux-musl
29+
30+
# Workaround for https://github.com/rust-lang/rust/issues/46651
31+
ENV RUSTFLAGS="-C link-arg=-lgcc"
32+
33+
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-musl-gcc \
34+
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUNNER=qemu-aarch64 \
35+
CC_aarch64_unknown_linux_musl=aarch64-linux-musl-gcc \
36+
CXX_aarch64_unknown_linux_musl=aarch64-linux-musl-g++ \
37+
OPENSSL_DIR=/openssl \
38+
OPENSSL_INCLUDE_DIR=/openssl/include \
39+
OPENSSL_LIB_DIR=/openssl/lib \
40+
RUST_TEST_THREADS=1

docker/arm-unknown-linux-musleabi/Dockerfile

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && \
44
apt-get install -y --no-install-recommends \
@@ -15,10 +15,27 @@ RUN bash /xargo.sh
1515
COPY qemu.sh /
1616
RUN bash /qemu.sh arm
1717

18-
RUN apt-get install -y --no-install-recommends \
19-
gcc-arm-linux-gnueabi
18+
COPY musl.sh /
19+
RUN bash /musl.sh \
20+
TARGET=arm-linux-musleabi \
21+
"COMMON_CONFIG += --with-arch=armv6 \
22+
--with-float=soft \
23+
--with-mode=arm"
2024

21-
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABI_LINKER=arm-linux-gnueabi-gcc \
25+
COPY openssl.sh /
26+
RUN bash /openssl.sh linux-armv4 arm-linux-musleabi-
27+
28+
# Allows qemu run dynamic linked binaries
29+
RUN ln -sf \
30+
/usr/local/arm-linux-musleabi/lib/libc.so \
31+
/usr/local/arm-linux-musleabi/lib/ld-musl-arm.so.1
32+
ENV QEMU_LD_PREFIX=/usr/local/arm-linux-musleabi
33+
34+
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABI_LINKER=arm-linux-musleabi-gcc \
2235
CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABI_RUNNER=qemu-arm \
23-
CC_arm_unknown_linux_musleabi=arm-linux-gnueabi-gcc \
36+
CC_arm_unknown_linux_musleabi=arm-linux-musleabi-gcc \
37+
CXX_arm_unknown_linux_musleabi=arm-linux-musleabi-g++ \
38+
OPENSSL_DIR=/openssl \
39+
OPENSSL_INCLUDE_DIR=/openssl/include \
40+
OPENSSL_LIB_DIR=/openssl/lib \
2441
RUST_TEST_THREADS=1
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
FROM ubuntu:18.04
2+
3+
RUN apt-get update && \
4+
apt-get install -y --no-install-recommends \
5+
ca-certificates \
6+
cmake \
7+
gcc \
8+
libc6-dev \
9+
make \
10+
pkg-config
11+
12+
COPY xargo.sh /
13+
RUN bash /xargo.sh
14+
15+
COPY qemu.sh /
16+
RUN bash /qemu.sh arm
17+
18+
COPY musl.sh /
19+
RUN bash /musl.sh \
20+
TARGET=arm-linux-musleabihf \
21+
"COMMON_CONFIG += --with-arch=armv6 \
22+
--with-fpu=vfp \
23+
--with-float=hard \
24+
--with-mode=arm"
25+
26+
COPY openssl.sh /
27+
RUN bash /openssl.sh linux-armv4 arm-linux-musleabihf-
28+
29+
# Allows qemu run dynamic linked binaries
30+
RUN ln -sf \
31+
/usr/local/arm-linux-musleabihf/lib/libc.so \
32+
/usr/local/arm-linux-musleabihf/lib/ld-musl-armhf.so.1
33+
ENV QEMU_LD_PREFIX=/usr/local/arm-linux-musleabihf
34+
35+
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_LINKER=arm-linux-musleabihf-gcc \
36+
CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_RUNNER=qemu-arm \
37+
CC_arm_unknown_linux_musleabihf=arm-linux-musleabihf-gcc \
38+
CXX_arm_unknown_linux_musleabihf=arm-linux-musleabihf-g++ \
39+
OPENSSL_DIR=/openssl \
40+
OPENSSL_INCLUDE_DIR=/openssl/include \
41+
OPENSSL_LIB_DIR=/openssl/lib \
42+
RUST_TEST_THREADS=1
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
FROM ubuntu:18.04
2+
3+
RUN apt-get update && \
4+
apt-get install -y --no-install-recommends \
5+
ca-certificates \
6+
cmake \
7+
gcc \
8+
libc6-dev \
9+
make \
10+
pkg-config
11+
12+
COPY xargo.sh /
13+
RUN bash /xargo.sh
14+
15+
COPY qemu.sh /
16+
RUN bash /qemu.sh arm
17+
18+
COPY musl.sh /
19+
RUN bash /musl.sh \
20+
TARGET=arm-linux-musleabi \
21+
"COMMON_CONFIG += --with-arch=armv5te \
22+
--with-float=soft \
23+
--with-mode=arm"
24+
25+
COPY openssl.sh /
26+
RUN bash /openssl.sh linux-armv4 arm-linux-musleabi-
27+
28+
# Allows qemu run dynamic linked binaries
29+
RUN ln -sf \
30+
/usr/local/arm-linux-musleabi/lib/libc.so \
31+
/usr/local/arm-linux-musleabi/lib/ld-musl-arm.so.1
32+
ENV QEMU_LD_PREFIX=/usr/local/arm-linux-musleabi
33+
34+
ENV CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_MUSLEABI_LINKER=arm-linux-musleabi-gcc \
35+
CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_MUSLEABI_RUNNER=qemu-arm \
36+
CC_armv5te_unknown_linux_musleabi=arm-linux-musleabi-gcc \
37+
CXX_armv5te_unknown_linux_musleabi=arm-linux-musleabi-g++ \
38+
OPENSSL_DIR=/openssl \
39+
OPENSSL_INCLUDE_DIR=/openssl/include \
40+
OPENSSL_LIB_DIR=/openssl/lib \
41+
RUST_TEST_THREADS=1

docker/armv7-unknown-linux-musleabihf/Dockerfile

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && \
44
apt-get install -y --no-install-recommends \
@@ -15,10 +15,28 @@ RUN bash /xargo.sh
1515
COPY qemu.sh /
1616
RUN bash /qemu.sh arm
1717

18-
RUN apt-get install -y --no-install-recommends \
19-
gcc-arm-linux-gnueabihf
18+
COPY musl.sh /
19+
RUN bash /musl.sh \
20+
TARGET=arm-linux-musleabihf \
21+
"COMMON_CONFIG += --with-arch=armv7-a \
22+
--with-fpu=neon \
23+
--with-float=hard \
24+
--with-mode=thumb"
2025

21-
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_LINKER=arm-linux-gnueabihf-gcc \
26+
COPY openssl.sh /
27+
RUN bash /openssl.sh linux-armv4 arm-linux-musleabihf-
28+
29+
# Allows qemu run dynamic linked binaries
30+
RUN ln -sf \
31+
/usr/local/arm-linux-musleabihf/lib/libc.so \
32+
/usr/local/arm-linux-musleabihf/lib/ld-musl-armhf.so.1
33+
ENV QEMU_LD_PREFIX=/usr/local/arm-linux-musleabihd
34+
35+
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_LINKER=arm-linux-musleabihf-gcc \
2236
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_MUSLEABIHF_RUNNER=qemu-arm \
23-
CC_armv7_unknown_linux_musleabihf=arm-linux-gnueabihf-gcc \
37+
CC_armv7_unknown_linux_musleabihf=arm-linux-musleabihf-gcc \
38+
CXX_armv7_unknown_linux_musleabihf=arm-linux-musleabihf-g++ \
39+
OPENSSL_DIR=/openssl \
40+
OPENSSL_INCLUDE_DIR=/openssl/include \
41+
OPENSSL_LIB_DIR=/openssl/lib \
2442
RUST_TEST_THREADS=1
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
FROM ubuntu:18.04
2+
3+
RUN apt-get update && \
4+
apt-get install -y --no-install-recommends \
5+
ca-certificates \
6+
cmake \
7+
gcc \
8+
libc6-dev \
9+
make \
10+
pkg-config
11+
12+
COPY xargo.sh /
13+
RUN bash /xargo.sh
14+
15+
COPY musl.sh /
16+
RUN bash /musl.sh TARGET=i586-linux-musl
17+
18+
COPY openssl.sh /
19+
RUN bash /openssl.sh linux-elf i586-linux-musl-
20+
21+
ENV CARGO_TARGET_I586_UNKNOWN_LINUX_MUSL_LINKER=i586-linux-musl-gcc \
22+
CC_i586_unknown_linux_musl=i586-linux-musl-gcc \
23+
CXX_i586_unknown_linux_musl=i586-linux-musl-g++ \
24+
OPENSSL_DIR=/openssl \
25+
OPENSSL_INCLUDE_DIR=/openssl/include \
26+
OPENSSL_LIB_DIR=/openssl/lib
Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM i386/ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && \
44
apt-get install -y --no-install-recommends \
@@ -13,17 +13,14 @@ COPY xargo.sh /
1313
RUN bash /xargo.sh
1414

1515
COPY musl.sh /
16-
RUN apt-get install -y --no-install-recommends \
17-
gcc-multilib && \
18-
bash /musl.sh 1.1.15 i386 -m32
19-
20-
ENV CC_i686_unknown_linux_musl=musl-gcc
16+
RUN bash /musl.sh TARGET=i686-linux-musl
2117

2218
COPY openssl.sh /
23-
RUN apt-get install -y --no-install-recommends \
24-
g++-multilib && \
25-
bash /openssl.sh linux-elf musl- -m32
19+
RUN bash /openssl.sh linux-elf i686-linux-musl-
2620

27-
ENV OPENSSL_DIR=/openssl \
21+
ENV CARGO_TARGET_I686_UNKNOWN_LINUX_MUSL_LINKER=i686-linux-musl-gcc \
22+
CC_i686_unknown_linux_musl=i686-linux-musl-gcc \
23+
CXX_i686_unknown_linux_musl=i686-linux-musl-g++ \
24+
OPENSSL_DIR=/openssl \
2825
OPENSSL_INCLUDE_DIR=/openssl/include \
2926
OPENSSL_LIB_DIR=/openssl/lib
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
FROM ubuntu:18.04
2+
3+
RUN apt-get update && \
4+
apt-get install -y --no-install-recommends \
5+
ca-certificates \
6+
cmake \
7+
gcc \
8+
libc6-dev \
9+
make \
10+
pkg-config
11+
12+
COPY xargo.sh /
13+
RUN bash /xargo.sh
14+
15+
COPY qemu.sh /
16+
RUN bash /qemu.sh mips
17+
18+
COPY musl.sh /
19+
RUN bash /musl.sh \
20+
TARGET=mips-linux-muslsf \
21+
"COMMON_CONFIG += -with-arch=mips32r2"
22+
23+
COPY openssl.sh /
24+
RUN bash /openssl.sh linux-mips32 mips-linux-muslsf-
25+
26+
# Allows qemu run dynamic linked binaries
27+
RUN ln -sf \
28+
/usr/local/mips-linux-muslsf/lib/libc.so \
29+
/usr/local/mips-linux-muslsf/lib/ld-musl-mips-sf.so.1
30+
ENV QEMU_LD_PREFIX=/usr/local/mips-linux-muslsf
31+
32+
ENV CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_LINKER=mips-linux-muslsf-gcc \
33+
CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_RUNNER=qemu-mips \
34+
CC_mips_unknown_linux_musl=mips-linux-muslsf-gcc \
35+
CXX_mips_unknown_linux_musl=mips-linux-muslsf-g++ \
36+
OPENSSL_DIR=/openssl \
37+
OPENSSL_INCLUDE_DIR=/openssl/include \
38+
OPENSSL_LIB_DIR=/openssl/lib \
39+
RUST_TEST_THREADS=1 \
40+
QEMU_LD_PREFIX=/usr/local/mips-linux-muslsf

0 commit comments

Comments
 (0)