@@ -8,7 +8,8 @@ RUN sed -i 's/^# deb-src/deb-src/' /etc/apt/sources.list
88
99RUN apt-get update && apt-get build-dep -y clang llvm && apt-get install -y --no-install-recommends \
1010 build-essential \
11- gcc-multilib \
11+ # gcc-multilib can not be installed together with gcc-arm-linux-gnueabi
12+ gcc-7-multilib \
1213 libedit-dev \
1314 libgmp-dev \
1415 libisl-dev \
@@ -21,11 +22,20 @@ RUN apt-get update && apt-get build-dep -y clang llvm && apt-get install -y --no
2122 unzip \
2223 # Needed for apt-key to work:
2324 dirmngr \
24- gpg-agent
25+ gpg-agent \
26+ g++-7-arm-linux-gnueabi
2527
2628RUN apt-key adv --batch --yes --keyserver keyserver.ubuntu.com --recv-keys 74DA7924C5513486
2729RUN add-apt-repository -y 'deb http://apt.dilos.org/dilos dilos2 main'
2830
31+ WORKDIR /build
32+ COPY scripts/musl.sh /build
33+ RUN env \
34+ CC=arm-linux-gnueabi-gcc-7 CFLAGS="-march=armv7-a" \
35+ CXX=arm-linux-gnueabi-g++-7 CXXFLAGS="-march=armv7-a" \
36+ bash musl.sh armv7 && \
37+ rm -rf /build/*
38+
2939WORKDIR /tmp
3040COPY dist-various-2/shared.sh /tmp/
3141COPY dist-various-2/build-cloudabi-toolchain.sh /tmp/
5868 CXX_sparcv9_sun_solaris=sparcv9-sun-solaris2.10-g++ \
5969 AR_x86_64_sun_solaris=x86_64-sun-solaris2.10-ar \
6070 CC_x86_64_sun_solaris=x86_64-sun-solaris2.10-gcc \
61- CXX_x86_64_sun_solaris=x86_64-sun-solaris2.10-g++
71+ CXX_x86_64_sun_solaris=x86_64-sun-solaris2.10-g++ \
72+ CC_armv7_unknown_linux_gnueabi=arm-linux-gnueabi-gcc-7 \
73+ CXX_armv7_unknown_linux_gnueabi=arm-linux-gnueabi-g++-7 \
74+ CC=gcc-7 \
75+ CXX=g++-7
6276
6377ENV CARGO_TARGET_X86_64_FUCHSIA_AR /usr/local/bin/llvm-ar
6478ENV CARGO_TARGET_X86_64_FUCHSIA_RUSTFLAGS \
@@ -81,9 +95,19 @@ ENV TARGETS=$TARGETS,x86_64-unknown-linux-gnux32
8195ENV TARGETS=$TARGETS,x86_64-unknown-cloudabi
8296ENV TARGETS=$TARGETS,x86_64-fortanix-unknown-sgx
8397ENV TARGETS=$TARGETS,nvptx64-nvidia-cuda
98+ ENV TARGETS=$TARGETS,armv7-unknown-linux-gnueabi
99+ ENV TARGETS=$TARGETS,armv7-unknown-linux-musleabi
84100
85101ENV X86_FORTANIX_SGX_LIBS="/x86_64-fortanix-unknown-sgx/lib/"
86102
103+ # As per https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/1300211
104+ # we need asm in the search path for gcc-7 (for gnux32) but not in the search path of the
105+ # cross compilers.
106+ # Luckily one of the folders is /usr/local/include so symlink /usr/include/asm-generic there
107+ RUN ln -s /usr/include/asm-generic /usr/local/include/asm
108+
87109ENV RUST_CONFIGURE_ARGS --enable-extended --enable-lld --disable-docs \
88- --set target.wasm32-wasi.wasi-root=/wasm32-wasi
110+ --set target.wasm32-wasi.wasi-root=/wasm32-wasi \
111+ --musl-root-armv7=/musl-armv7
112+
89113ENV SCRIPT python2.7 ../x.py dist --target $TARGETS
0 commit comments