FROM ubuntu:16.04
ARG DEBIAN_FRONTEND=noninteractive
COPY common.sh lib.sh /
RUN /common.sh
COPY cmake.sh /
RUN /cmake.sh
COPY xargo.sh /
RUN /xargo.sh
RUN apt-get update && apt-get install --assume-yes --no-install-recommends \
g++-arm-linux-gnueabihf \
libc6-dev-armhf-cross
COPY qemu.sh /
RUN /qemu.sh arm softmmu
COPY dropbear.sh /
RUN /dropbear.sh
COPY linux-image.sh /
RUN /linux-image.sh armv7
COPY linux-runner /
# Export all target binutils just in case required.
ENV CARGO_TARGET_THUMBV7NEON_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
CARGO_TARGET_THUMBV7NEON_UNKNOWN_LINUX_GNUEABIHF_RUNNER="/linux-runner armv7" \
AR_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-ar \
AS_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-as \
CC_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc \
CXX_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++ \
LD_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-ld \
NM_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-nm \
OBJCOPY_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-objcopy \
OBJDUMP_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-objdump \
RANLIB_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-ranlib \
READELF_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-readelf \
SIZE_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-size \
STRINGS_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-strings \
STRIP_thumbv7neon_unknown_linux_gnueabihf=arm-linux-gnueabihf-strip \
BINDGEN_EXTRA_CLANG_ARGS_thumbv7neon_unknown_linux_gnueabihf="--sysroot=/usr/arm-linux-gnueabihf" \
QEMU_LD_PREFIX=/usr/arm-linux-gnueabihf \
RUST_TEST_THREADS=1 \
PKG_CONFIG_PATH="/usr/lib/arm-linux-gnueabihf/pkgconfig/:${PKG_CONFIG_PATH}"