Skip to content

Commit 2148bcd

Browse files
committed
Auto merge of #47157 - malbarbo:shared-build-musl, r=alexcrichton
ci: use a shared script to build musl The dist-x86_64-musl, dist-various-1 and dist-i586-gnu-i686-musl builders had different scripts to build musl. This PR creates an unified script, which makes it easier to add new musl targets and update musl and libunwind (used in the musl targets). The libunwind is update from 3.7 to 3.9 for dist-x86_64-musl and dist-i586-gnu-i686-musl (dist-various-1 already used 3.9 version).
2 parents a704583 + 00b5413 commit 2148bcd

File tree

8 files changed

+144
-272
lines changed

8 files changed

+144
-272
lines changed

src/ci/docker/dist-i586-gnu-i686-musl/Dockerfile

+5-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,11 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1717
pkg-config
1818

1919
WORKDIR /build/
20-
COPY dist-i586-gnu-i686-musl/musl-libunwind-patch.patch dist-i586-gnu-i686-musl/build-musl.sh /build/
21-
RUN sh /build/build-musl.sh && rm -rf /build
20+
COPY scripts/musl.sh /build/
21+
RUN CC=gcc CFLAGS="-m32 -fPIC -Wa,-mrelax-relocations=no" \
22+
CXX=g++ CXXFLAGS="-m32 -Wa,-mrelax-relocations=no" \
23+
bash musl.sh i686 --target=i686 && \
24+
rm -rf /build
2225

2326
COPY scripts/sccache.sh /scripts/
2427
RUN sh /scripts/sccache.sh

src/ci/docker/dist-i586-gnu-i686-musl/build-musl.sh

-55
This file was deleted.

src/ci/docker/dist-i586-gnu-i686-musl/musl-libunwind-patch.patch

-15
This file was deleted.

src/ci/docker/dist-various-1/Dockerfile

+29-13
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,39 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2222
libssl-dev \
2323
pkg-config
2424

25-
WORKDIR /tmp
25+
WORKDIR /build
2626

27-
COPY dist-various-1/build-rumprun.sh /tmp/
27+
COPY dist-various-1/build-rumprun.sh /build
2828
RUN ./build-rumprun.sh
2929

30-
COPY dist-various-1/build-arm-musl.sh /tmp/
31-
RUN ./build-arm-musl.sh
30+
COPY dist-various-1/install-x86_64-redox.sh /build
31+
RUN ./install-x86_64-redox.sh
32+
33+
COPY scripts/musl.sh /build
34+
RUN env \
35+
CC=arm-linux-gnueabi-gcc CFLAGS="-march=armv6 -marm" \
36+
CXX=arm-linux-gnueabi-g++ CXXFLAGS="-march=armv6 -marm" \
37+
bash musl.sh arm && \
38+
env \
39+
CC=arm-linux-gnueabihf-gcc CFLAGS="-march=armv6 -marm" \
40+
CXX=arm-linux-gnueabihf-g++ CXXFLAGS="-march=armv6 -marm" \
41+
bash musl.sh armhf && \
42+
env \
43+
CC=arm-linux-gnueabihf-gcc CFLAGS="-march=armv7-a" \
44+
CXX=arm-linux-gnueabihf-g++ CXXFLAGS="-march=armv7-a" \
45+
bash musl.sh armv7 && \
46+
env \
47+
CC=aarch64-linux-gnu-gcc \
48+
CXX=aarch64-linux-gnu-g++ \
49+
bash musl.sh aarch64 && \
50+
rm -rf /build/*
3251

33-
COPY dist-various-1/install-mips-musl.sh /tmp/
52+
COPY dist-various-1/install-mips-musl.sh /build
3453
RUN ./install-mips-musl.sh
3554

36-
COPY dist-various-1/install-mipsel-musl.sh /tmp/
55+
COPY dist-various-1/install-mipsel-musl.sh /build
3756
RUN ./install-mipsel-musl.sh
3857

39-
COPY dist-various-1/install-x86_64-redox.sh /tmp/
40-
RUN ./install-x86_64-redox.sh
41-
4258
ENV TARGETS=asmjs-unknown-emscripten
4359
ENV TARGETS=$TARGETS,wasm32-unknown-emscripten
4460
ENV TARGETS=$TARGETS,x86_64-rumprun-netbsd
@@ -67,10 +83,10 @@ ENV STAGING_DIR=/tmp
6783
ENV RUST_CONFIGURE_ARGS \
6884
--enable-extended \
6985
--target=$TARGETS \
70-
--musl-root-arm=/usr/local/arm-linux-musleabi \
71-
--musl-root-armhf=/usr/local/arm-linux-musleabihf \
72-
--musl-root-armv7=/usr/local/armv7-linux-musleabihf \
73-
--musl-root-aarch64=/usr/local/aarch64-linux-musl
86+
--musl-root-arm=/musl-arm \
87+
--musl-root-armhf=/musl-armhf \
88+
--musl-root-armv7=/musl-armv7 \
89+
--musl-root-aarch64=/musl-aarch64
7490
ENV SCRIPT python2.7 ../x.py dist --target $TARGETS
7591

7692
# sccache

src/ci/docker/dist-various-1/build-arm-musl.sh

-147
This file was deleted.

src/ci/docker/dist-x86_64-musl/Dockerfile

+8-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1717
pkg-config
1818

1919
WORKDIR /build/
20-
COPY dist-x86_64-musl/build-musl.sh /build/
21-
RUN sh /build/build-musl.sh && rm -rf /build
20+
21+
COPY scripts/musl.sh /build/
22+
# We need to mitigate rust-lang/rust#34978 when compiling musl itself as well
23+
RUN CC=gcc \
24+
CFLAGS="-fPIC -Wa,-mrelax-relocations=no" \
25+
CXX=g++ \
26+
CXXFLAGS="-Wa,-mrelax-relocations=no" \
27+
bash musl.sh x86_64 && rm -rf /build
2228

2329
COPY scripts/sccache.sh /scripts/
2430
RUN sh /scripts/sccache.sh

src/ci/docker/dist-x86_64-musl/build-musl.sh

-38
This file was deleted.

0 commit comments

Comments
 (0)