gitlab: enable a very minimal build with the tricore container

Rather than base of the shared Debian 10 container which would require
us to bring in even more dependencies just bring in what is needed for
building tricore-softmmu in GitLab. We don't even remove the container
from the DOCKER_PARTIAL_IMAGES lest we cause more confusion.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Message-Id: <20210720232703.10650-28-alex.bennee@linaro.org>
This commit is contained in:
Alex Bennée 2021-07-21 00:27:01 +01:00
parent c56f1ee668
commit 39ce923732
2 changed files with 40 additions and 5 deletions

View File

@ -354,6 +354,17 @@ build-some-softmmu:
TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu
MAKE_CHECK_ARGS: check-tcg MAKE_CHECK_ARGS: check-tcg
# We build tricore in a very minimal tricore only container
build-tricore-softmmu:
extends: .native_build_job_template
needs:
job: tricore-debian-cross-container
variables:
IMAGE: debian-tricore-cross
CONFIGURE_ARGS: --disable-tools --disable-fdt --enable-debug
TARGETS: tricore-softmmu
MAKE_CHECK_ARGS: check-tcg
clang-system: clang-system:
extends: .native_build_job_template extends: .native_build_job_template
needs: needs:

View File

@ -1,23 +1,47 @@
# #
# Docker TriCore cross-compiler target # Docker TriCore cross-compiler target
# #
# This docker target builds on the debian Stretch base image. # This docker target builds on the Debian Buster base image but
# doesn't inherit from the common one to avoid bringing in unneeded
# dependencies.
# #
# Copyright (c) 2018 Philippe Mathieu-Daudé # Copyright (c) 2018 Philippe Mathieu-Daudé
# #
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
# #
FROM qemu/debian10 FROM docker.io/library/debian:buster-slim
MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>
RUN apt update && \
DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \
bzip2 \
ca-certificates \
ccache \
g++ \
gcc \
git \
libglib2.0-dev \
libpixman-1-dev \
libtest-harness-perl \
locales \
make \
ninja-build \
perl-base \
pkgconf \
python3-pip \
python3-setuptools \
python3-wheel
RUN git clone --single-branch \ RUN git clone --single-branch \
https://github.com/bkoppelmann/tricore-binutils.git \ https://github.com/bkoppelmann/tricore-binutils.git \
/usr/src/binutils && \ /usr/src/binutils && \
cd /usr/src/binutils && chmod +x missing && \ cd /usr/src/binutils && chmod +x missing && \
CFLAGS=-w ./configure --prefix=/usr --disable-nls --target=tricore && \ CFLAGS=-w ./configure --prefix=/usr/local --disable-nls --target=tricore && \
make && make install && \ make && make install && \
rm -rf /usr/src/binutils rm -rf /usr/src/binutils
# This image isn't designed for building QEMU but building tests # This image can only build a very minimal QEMU as well as the tests
ENV QEMU_CONFIGURE_OPTS --disable-system --disable-user ENV DEF_TARGET_LIST tricore-softmmu
ENV QEMU_CONFIGURE_OPTS --disable-user --disable-tools --disable-fdt