Skip to content

Commit af713a3

Browse files
committed
Add armv7-unknown-linux-musleabihf host tools to CI
1 parent 75e7cf5 commit af713a3

File tree

4 files changed

+61
-8
lines changed

4 files changed

+61
-8
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
FROM ubuntu:22.04
2+
3+
COPY scripts/cross-apt-packages.sh /scripts/
4+
RUN sh /scripts/cross-apt-packages.sh
5+
6+
COPY scripts/crosstool-ng.sh /scripts/
7+
RUN sh /scripts/crosstool-ng.sh
8+
9+
COPY scripts/rustbuild-setup.sh /scripts/
10+
RUN sh /scripts/rustbuild-setup.sh
11+
WORKDIR /tmp
12+
13+
COPY scripts/crosstool-ng-build.sh /scripts/
14+
COPY host-x86_64/dist-armv7-linux-musl/armv7-unknown-linux-musleabihf.defconfig /tmp/crosstool.defconfig
15+
RUN /scripts/crosstool-ng-build.sh
16+
17+
COPY scripts/sccache.sh /scripts/
18+
RUN sh /scripts/sccache.sh
19+
20+
ENV PATH=$PATH:/x-tools/armv7-unknown-linux-musleabihf/bin
21+
22+
ENV CC_armv7_unknown_linux_musleabihf=armv7-unknown-linux-musleabihf-gcc \
23+
AR_armv7_unknown_linux_musleabihf=armv7-unknown-linux-musleabihf-ar \
24+
CXX_armv7_unknown_linux_musleabihf=armv7-unknown-linux-musleabihf-g++
25+
26+
ENV HOSTS=armv7-unknown-linux-musleabihf
27+
28+
ENV RUST_CONFIGURE_ARGS \
29+
--enable-extended \
30+
--enable-full-tools \
31+
--enable-profiler \
32+
--enable-sanitizers \
33+
--disable-docs \
34+
--set target.armv7-unknown-linux-musleabihf.crt-static=false \
35+
--musl-root-armv7hf=/x-tools/armv7-unknown-linux-musleabihf/armv7-unknown-linux-musleabihf/sysroot/usr
36+
37+
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
CT_CONFIG_VERSION="4"
2+
CT_EXPERIMENTAL=y
3+
CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
4+
CT_USE_MIRROR=y
5+
CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
6+
CT_ARCH_ARM=y
7+
CT_ARCH_ARM_MODE_THUMB=y
8+
CT_ARCH_SUFFIX="v7"
9+
CT_ARCH_ARCH="armv7-a"
10+
CT_ARCH_FPU="vfpv3-d16"
11+
CT_ARCH_FLOAT_HW=y
12+
CT_KERNEL_LINUX=y
13+
CT_LINUX_V_4_19=y
14+
CT_LIBC_MUSL=y
15+
CT_MUSL_V_1_2_3=y
16+
CT_CC_LANG_CXX=y
17+
CT_GETTEXT_NEEDED=y

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

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,7 @@ RUN env \
7373
env \
7474
CC=arm-linux-gnueabihf-gcc CFLAGS="-march=armv6 -marm -mfpu=vfp" \
7575
CXX=arm-linux-gnueabihf-g++ CXXFLAGS="-march=armv6 -marm -mfpu=vfp" \
76-
bash musl.sh armhf && \
77-
env \
78-
CC=arm-linux-gnueabihf-gcc CFLAGS="-march=armv7-a+fp" \
79-
CXX=arm-linux-gnueabihf-g++ CXXFLAGS="-march=armv7-a+fp" \
80-
bash musl.sh armv7hf
76+
bash musl.sh armhf
8177

8278
ENV RUN_MAKE_TARGETS=thumbv6m-none-eabi
8379
ENV RUN_MAKE_TARGETS=$RUN_MAKE_TARGETS,thumbv7m-none-eabi
@@ -89,7 +85,7 @@ ENV TARGETS=$TARGETS,arm-unknown-linux-musleabi
8985
ENV TARGETS=$TARGETS,arm-unknown-linux-musleabihf
9086
ENV TARGETS=$TARGETS,armv5te-unknown-linux-gnueabi
9187
ENV TARGETS=$TARGETS,armv5te-unknown-linux-musleabi
92-
ENV TARGETS=$TARGETS,armv7-unknown-linux-musleabihf
88+
9389
ENV TARGETS=$TARGETS,aarch64-unknown-none
9490
ENV TARGETS=$TARGETS,aarch64-unknown-none-softfloat
9591
ENV TARGETS=$TARGETS,sparc64-unknown-linux-gnu
@@ -121,7 +117,7 @@ ENV TARGETS=$TARGETS,x86_64-pc-windows-gnullvm
121117
ENV CFLAGS_armv5te_unknown_linux_musleabi="-march=armv5te -marm -mfloat-abi=soft" \
122118
CFLAGS_arm_unknown_linux_musleabi="-march=armv6 -marm" \
123119
CFLAGS_arm_unknown_linux_musleabihf="-march=armv6 -marm -mfpu=vfp" \
124-
CFLAGS_armv7_unknown_linux_musleabihf="-march=armv7-a+fp" \
120+
125121
CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \
126122
CC_x86_64_unknown_redox=x86_64-unknown-redox-gcc \
127123
CC_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc \
@@ -157,7 +153,7 @@ ENV RUST_CONFIGURE_ARGS \
157153
--musl-root-armv5te=/musl-armv5te \
158154
--musl-root-arm=/musl-arm \
159155
--musl-root-armhf=/musl-armhf \
160-
--musl-root-armv7hf=/musl-armv7hf \
156+
161157
--disable-docs
162158

163159
ENV SCRIPT \

src/ci/github-actions/jobs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,9 @@ auto:
198198
- name: dist-armv7-linux
199199
<<: *job-linux-4c
200200

201+
- name: dist-armv7-linux-musl
202+
<<: *job-linux-4c
203+
201204
- name: dist-i586-gnu-i586-i686-musl
202205
<<: *job-linux-4c
203206

0 commit comments

Comments
 (0)