| 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 | # |
| 8 | FROM docker.io/library/debian:13-slim |
| 9 | |
| 10 | RUN 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 | dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt |
| 21 | |
| 22 | ENV CPU_LIST="dc232b dc233c de233_fpu dsp3400" |
| 23 | ENV TOOLCHAIN_RELEASE=2020.07 |
| 24 | |
| 25 | RUN for cpu in $CPU_LIST; do \ |
| 26 | curl -#SL http://github.com/foss-xtensa/toolchain/releases/download/$TOOLCHAIN_RELEASE/x86_64-$TOOLCHAIN_RELEASE-xtensa-$cpu-elf.tar.gz \ |
| 27 | | tar -xzC /opt; \ |
| 28 | done |
| 29 | |
| 30 | ENV 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 |
| 31 | ENV MAKE=/usr/bin/make |
| 32 | # As a final step configure the user (if env is defined) |
| 33 | ARG USER |
| 34 | ARG UID |
| 35 | RUN if [ "${USER}" ]; then \ |
| 36 | id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi |