Skip to content

Commit 3fad51d

Browse files
committed
Test the c-system feature in CI as well
1 parent e4384f6 commit 3fad51d

File tree

6 files changed

+49
-8
lines changed

6 files changed

+49
-8
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
11
FROM ubuntu:18.04
2-
RUN apt-get update && \
2+
RUN dpkg --add-architecture arm64 && \
3+
sed -e "\,security.ubuntu.com/ubuntu,p;s,security.ubuntu.com/ubuntu,ports.ubuntu.com/ubuntu-ports,g" \
4+
-e "\,archive.ubuntu.com/ubuntu,p;s,archive.ubuntu.com/ubuntu,ports.ubuntu.com/ubuntu-ports,g" \
5+
-i /etc/apt/sources.list && \
6+
sed -e "\,security.ubuntu.com/ubuntu,s.^deb .deb [ arch=amd64,i386 ] .g" \
7+
-e "\,archive.ubuntu.com/ubuntu,s.^deb .deb [ arch=amd64,i386 ] .g" \
8+
-e "\,ports.ubuntu.com/ubuntu-ports,s.^deb .deb [ arch=arm64,armhf,ppc64el,s390x ] .g" \
9+
-i /etc/apt/sources.list && \
10+
apt-get update && \
311
apt-get install -y --no-install-recommends \
412
gcc libc6-dev ca-certificates \
513
gcc-aarch64-linux-gnu libc6-dev-arm64-cross \
14+
clang libclang-common-6.0-dev:arm64 \
615
qemu-user-static
716
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
817
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER=qemu-aarch64-static \
918
QEMU_LD_PREFIX=/usr/aarch64-linux-gnu \
19+
CLANG=clang \
1020
RUST_TEST_THREADS=1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,20 @@
11
FROM ubuntu:18.04
2-
RUN apt-get update && \
2+
RUN dpkg --add-architecture armhf && \
3+
sed -e "\,security.ubuntu.com/ubuntu,p;s,security.ubuntu.com/ubuntu,ports.ubuntu.com/ubuntu-ports,g" \
4+
-e "\,archive.ubuntu.com/ubuntu,p;s,archive.ubuntu.com/ubuntu,ports.ubuntu.com/ubuntu-ports,g" \
5+
-i /etc/apt/sources.list && \
6+
sed -e "\,security.ubuntu.com/ubuntu,s.^deb .deb [ arch=amd64,i386 ] .g" \
7+
-e "\,archive.ubuntu.com/ubuntu,s.^deb .deb [ arch=amd64,i386 ] .g" \
8+
-e "\,ports.ubuntu.com/ubuntu-ports,s.^deb .deb [ arch=arm64,armhf,ppc64el,s390x ] .g" \
9+
-i /etc/apt/sources.list && \
10+
apt-get update && \
311
apt-get install -y --no-install-recommends \
412
gcc libc6-dev ca-certificates \
5-
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user-static
13+
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross \
14+
clang libclang-common-6.0-dev:armhf \
15+
qemu-user-static
616
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
717
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER=qemu-arm-static \
818
QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf \
19+
CLANG=clang \
920
RUST_TEST_THREADS=1
+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
FROM ubuntu:18.04
22
RUN apt-get update && \
33
apt-get install -y --no-install-recommends \
4-
gcc-multilib libc6-dev ca-certificates
4+
gcc-multilib libc6-dev ca-certificates \
5+
clang
6+
ENV CLANG=clang
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,23 @@
11
FROM ubuntu:18.04
22

3-
RUN apt-get update && \
3+
RUN dpkg --add-architecture ppc64el && \
4+
sed -e "\,security.ubuntu.com/ubuntu,p;s,security.ubuntu.com/ubuntu,ports.ubuntu.com/ubuntu-ports,g" \
5+
-e "\,archive.ubuntu.com/ubuntu,p;s,archive.ubuntu.com/ubuntu,ports.ubuntu.com/ubuntu-ports,g" \
6+
-i /etc/apt/sources.list && \
7+
sed -e "\,security.ubuntu.com/ubuntu,s.^deb .deb [ arch=amd64,i386 ] .g" \
8+
-e "\,archive.ubuntu.com/ubuntu,s.^deb .deb [ arch=amd64,i386 ] .g" \
9+
-e "\,ports.ubuntu.com/ubuntu-ports,s.^deb .deb [ arch=arm64,armhf,ppc64el,s390x ] .g" \
10+
-i /etc/apt/sources.list && \
11+
apt-get update && \
412
apt-get install -y --no-install-recommends \
5-
gcc libc6-dev qemu-user-static ca-certificates \
13+
gcc libc6-dev ca-certificates \
614
gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross \
7-
qemu-system-ppc
15+
clang libclang-common-6.0-dev:ppc64el \
16+
qemu-user-static qemu-system-ppc
817

918
ENV CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc \
1019
CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER=qemu-ppc64le-static \
1120
QEMU_CPU=POWER8 \
1221
QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu \
22+
CLANG=clang \
1323
RUST_TEST_THREADS=1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
FROM ubuntu:18.04
22
RUN apt-get update && \
33
apt-get install -y --no-install-recommends \
4-
gcc libc6-dev ca-certificates
4+
gcc libc6-dev ca-certificates clang

ci/run.sh

+8
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ cargo build --target $1
1818
cargo build --target $1 --release
1919
cargo build --target $1 --features c
2020
cargo build --target $1 --release --features c
21+
if [ -n "$CLANG" -o -n "$LLVM_CONFIG" ]; then
22+
cargo build --target $1 --features c-system
23+
cargo build --target $1 --release --features c-system
24+
fi
2125

2226
PREFIX=$(echo $1 | sed -e 's/unknown-//')-
2327
case $1 in
@@ -77,6 +81,10 @@ RUSTFLAGS="-C debug-assertions=no" $build_intrinsics
7781
RUSTFLAGS="-C debug-assertions=no" $build_intrinsics --release
7882
RUSTFLAGS="-C debug-assertions=no" $build_intrinsics --features c
7983
RUSTFLAGS="-C debug-assertions=no" $build_intrinsics --features c --release
84+
if [ -n "$CLANG" -o -n "$LLVM_CONFIG" ]; then
85+
RUSTFLAGS="-C debug-assertions=no" $build_intrinsics --features c-system
86+
RUSTFLAGS="-C debug-assertions=no" $build_intrinsics --features c-system --release
87+
fi
8088

8189
# Verify that there are no undefined symbols to `panic` within our
8290
# implementations

0 commit comments

Comments
 (0)