diff --git a/docker/arm/Dockerfile b/docker/arm/Dockerfile new file mode 100644 index 0000000000..69278214e2 --- /dev/null +++ b/docker/arm/Dockerfile @@ -0,0 +1,69 @@ +FROM joshuawarner32/avian-build +MAINTAINER Joshua Warner, joshuawarner32@gmail.com + +RUN dpkg --add-architecture armel && \ + apt-get update && \ + mkdir -p /opt/arm && \ + apt-get download libc6-dev:armel \ + linux-headers-3.13-1-all-armel:armel \ + linux-libc-dev:armel \ + libc6:armel \ + zlib1g-dev:armel \ + zlib1g:armel && \ + for x in *.deb; do \ + dpkg -x $x /opt/arm; \ + done && \ + rm *.deb && \ + apt-get install -y \ + wget \ + libgmp-dev \ + libmpfr-dev \ + libmpc-dev \ + libisl-dev && \ + apt-get clean all && \ + for x in $(find /opt/arm -type l); do \ + r=$(readlink "$x" | sed 's,^/,/opt/arm/,g'); \ + rm "$x"; \ + ln -s "$r" "$x"; \ + done + +RUN mkdir -p /var/src + +# Build & install binutils +RUN wget ftp://sourceware.org/pub/binutils/snapshots/binutils-2.23.91.tar.bz2 -O /var/src/binutils.tar.bz2 && \ + cd /var/src/ && tar -xjf binutils.tar.bz2 && rm binutils.tar.bz2 && \ + cd /var/src/binutils* && \ + mkdir build && \ + cd build && \ + ../configure \ + --target=arm-linux-gnueabi \ + --prefix=/opt/arm \ + --disable-multilib \ + --program-prefix=arm-linux-gnueabi- \ + --with-sysroot=/opt/arm \ + --with-headers=/opt/arm/usr/include && \ + make && \ + make install && \ + cd /var/src && \ + rm -rf * + +# build & install gcc +RUN wget http://www.netgull.com/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.bz2 -O /var/src/gcc.tar.bz2 && \ + cd /var/src/ && tar -xjf gcc.tar.bz2 && rm gcc.tar.bz2 && \ + cd /var/src/gcc* && \ + mkdir build && \ + cd build && \ + ../configure \ + --target=arm-linux-gnueabi \ + --enable-languages=c,c++ \ + --prefix=/opt/arm \ + --disable-multilib \ + --program-prefix=arm-linux-gnueabi- \ + --with-sysroot=/opt/arm \ + --with-headers=/opt/arm/usr/include && \ + make && \ + make install && \ + cd /var/src && \ + rm -rf * + +ENV PATH $PATH:/opt/arm/bin