1#
2# Docker TriCore cross-compiler target
3#
4# This docker target builds on the Debian Buster base image but
5# doesn't inherit from the common one to avoid bringing in unneeded
6# dependencies.
7#
8# Copyright (c) 2018 Philippe Mathieu-Daudé
9#
10# SPDX-License-Identifier: GPL-2.0-or-later
11#
12FROM docker.io/library/debian:buster-slim
13
14MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>
15
16RUN apt update && \
17    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
18    DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \
19       bison \
20       bzip2 \
21       ca-certificates \
22       ccache \
23       g++ \
24       gcc \
25       git \
26       libglib2.0-dev \
27       libpixman-1-dev \
28       libtest-harness-perl \
29       locales \
30       make \
31       ninja-build \
32       perl-base \
33       pkgconf \
34       python3-pip \
35       python3-setuptools \
36       python3-wheel
37
38RUN git clone --single-branch \
39        https://github.com/bkoppelmann/tricore-binutils.git \
40        /usr/src/binutils && \
41    cd /usr/src/binutils && chmod +x missing && \
42    CFLAGS=-w ./configure --prefix=/usr/local --disable-nls --target=tricore && \
43    make && make install && \
44    rm -rf /usr/src/binutils
45
46# This image can only build a very minimal QEMU as well as the tests
47ENV DEF_TARGET_LIST tricore-softmmu
48ENV QEMU_CONFIGURE_OPTS --disable-user --disable-tools --disable-fdt
49