summaryrefslogtreecommitdiff
path: root/libc/ci/docker/arm-unknown-linux-musleabihf
diff options
context:
space:
mode:
Diffstat (limited to 'libc/ci/docker/arm-unknown-linux-musleabihf')
-rw-r--r--libc/ci/docker/arm-unknown-linux-musleabihf/Dockerfile25
1 files changed, 25 insertions, 0 deletions
diff --git a/libc/ci/docker/arm-unknown-linux-musleabihf/Dockerfile b/libc/ci/docker/arm-unknown-linux-musleabihf/Dockerfile
new file mode 100644
index 0000000..130730b
--- /dev/null
+++ b/libc/ci/docker/arm-unknown-linux-musleabihf/Dockerfile
@@ -0,0 +1,25 @@
+FROM ubuntu:17.10
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ gcc make libc6-dev git curl ca-certificates \
+ gcc-arm-linux-gnueabihf qemu-user
+
+RUN curl https://www.musl-libc.org/releases/musl-1.1.16.tar.gz | tar xzf -
+WORKDIR /musl-1.1.16
+RUN CC=arm-linux-gnueabihf-gcc \
+ CFLAGS="-march=armv6 -marm" \
+ ./configure --prefix=/musl-arm --enable-wrapper=yes
+RUN make install -j4
+
+# Install linux kernel headers sanitized for use with musl
+RUN \
+ curl -L https://github.com/sabotage-linux/kernel-headers/archive/v3.12.6-5.tar.gz | \
+ tar xzf - && \
+ cd kernel-headers-3.12.6-5 && \
+ make ARCH=arm prefix=/musl-arm install -j4 && \
+ cd .. && \
+ rm -rf kernel-headers-3.12.6-5
+ENV PATH=$PATH:/musl-arm/bin:/rust/bin \
+ CC_arm_unknown_linux_musleabihf=musl-gcc \
+ CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_LINKER=musl-gcc \
+ CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_RUNNER="qemu-arm -L /musl-arm"