Skip to content

Commit ca5aece

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

File tree

6 files changed

+62
-9
lines changed

6 files changed

+62
-9
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
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 ] .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 \
6-
qemu-user-static
14+
clang xz-utils \
15+
qemu-user-static && \
16+
cd /tmp && \
17+
apt-get download libclang-common-6.0-dev:arm64 && \
18+
ar xf libclang-common-6.0-dev_*_arm64.deb && \
19+
tar -C/ -xf data.tar.xz ."$(dirname $(clang -rtlib=compiler-rt --print-libgcc-file-name))"
720
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
821
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER=qemu-aarch64-static \
922
QEMU_LD_PREFIX=/usr/aarch64-linux-gnu \
23+
CLANG=clang \
1024
RUST_TEST_THREADS=1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
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=armhf ] .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 xz-utils \
15+
qemu-user-static && \
16+
cd /tmp && \
17+
apt-get download libclang-common-6.0-dev:armhf && \
18+
ar xf libclang-common-6.0-dev_*_armhf.deb && \
19+
tar -C/ -xf data.tar.xz ."$(dirname $(clang -rtlib=compiler-rt --print-libgcc-file-name))"
620
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
721
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER=qemu-arm-static \
822
QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf \
23+
CLANG=clang \
924
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,27 @@
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=ppc64el ] .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 xz-utils \
16+
qemu-user-static qemu-system-ppc && \
17+
cd /tmp && \
18+
apt-get download libclang-common-6.0-dev:ppc64el && \
19+
ar xf libclang-common-6.0-dev_*_ppc64el.deb && \
20+
tar -C/ -xf data.tar.xz ."$(dirname $(clang -rtlib=compiler-rt --print-libgcc-file-name))"
821

922
ENV CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc \
1023
CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER=qemu-ppc64le-static \
1124
QEMU_CPU=POWER8 \
1225
QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu \
26+
CLANG=clang \
1327
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)