1#
2# Docker cross-compiler target
3#
4# This docker target builds on the debian stretch base image,
5# using a prebuilt toolchains for Xtensa cores from:
6# https://github.com/foss-xtensa/toolchain/releases
7#
8FROM docker.io/library/debian:stretch-slim
9
10RUN apt-get update && \
11    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
12    DEBIAN_FRONTEND=noninteractive eatmydata \
13    apt-get install -y --no-install-recommends \
14        build-essential \
15        ca-certificates \
16        curl \
17        gettext \
18        git \
19        python3-minimal
20
21ENV CPU_LIST dc232b dc233c de233_fpu dsp3400
22ENV TOOLCHAIN_RELEASE 2020.07
23
24RUN for cpu in $CPU_LIST; do \
25        curl -#SL http://github.com/foss-xtensa/toolchain/releases/download/$TOOLCHAIN_RELEASE/x86_64-$TOOLCHAIN_RELEASE-xtensa-$cpu-elf.tar.gz \
26        | tar -xzC /opt; \
27    done
28
29ENV PATH $PATH:/opt/$TOOLCHAIN_RELEASE/xtensa-dc232b-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dc233c-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-de233_fpu-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dsp3400-elf/bin
30# As a final step configure the user (if env is defined)
31ARG USER
32ARG UID
33RUN if [ "${USER}" ]; then \
34  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
35