Alex Bennée <alex.ben...@linaro.org> writes:
> We do the same thing as hexagon and do a two stage build that provides > the minimal dependencies to build qemu-tricore-system and it's > check-tcg tests. > > Signed-off-by: Alex Bennée <alex.ben...@linaro.org> > --- > .gitlab-ci.d/buildtest.yml | 11 +++++ > .../dockerfiles/debian-tricore-cross.docker | 48 +++++++++++++++++-- > 2 files changed, 54 insertions(+), 5 deletions(-) > > diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml > index 89df51517c..1f3fbcd965 100644 > --- a/.gitlab-ci.d/buildtest.yml > +++ b/.gitlab-ci.d/buildtest.yml > @@ -354,6 +354,17 @@ build-some-softmmu: > TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu > 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: debian-tricore-cross-container > + variables: > + IMAGE: debian-tricore-cross > + CONFIGURE_ARGS: --disable-tools --enable-debug > + TARGETS: tricore-softmmu > + MAKE_CHECK_ARGS: check-tcg > + > clang-system: > extends: .native_build_job_template > needs: > diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker > b/tests/docker/dockerfiles/debian-tricore-cross.docker > index 985925134c..50c87f251f 100644 > --- a/tests/docker/dockerfiles/debian-tricore-cross.docker > +++ b/tests/docker/dockerfiles/debian-tricore-cross.docker > @@ -15,9 +15,47 @@ RUN git clone --single-branch \ > https://github.com/bkoppelmann/tricore-binutils.git \ > /usr/src/binutils && \ > cd /usr/src/binutils && chmod +x missing && \ > - CFLAGS=-w ./configure --prefix=/usr --disable-nls --target=tricore && \ > - make && make install && \ > - rm -rf /usr/src/binutils > + CFLAGS=-w ./configure --prefix=/usr/local --disable-nls --target=tricore > && \ > + make && make install > > -# This image isn't designed for building QEMU but building tests > -ENV QEMU_CONFIGURE_OPTS --disable-system --disable-user > +FROM debian:buster-slim > +# Duplicate deb line as deb-src > +RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> > /etc/apt/sources.list > +# Install QEMU build deps for use in CI > +RUN apt update && \ > + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ > + DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \ > + build-essential \ > + git \ > + libglib2.0-dev \ > + libpixman-1-dev \ > + ninja-build \ > + python3 \ > + pkg-config > + bzip2 \ > + ca-certificates \ > + ccache \ > + diffutils \ > + findutils \ > + g++ \ > + gcc \ > + git \ > + libcapstone-dev \ > + libfdt-dev \ > + libglib2.0-dev \ > + libpixman-1-dev \ > + libtest-harness-perl \ > + locales \ > + make \ > + ninja-build \ > + perl-base \ > + pkgconf \ > + python3-pip \ > + python3-setuptools \ > + python3-wheel Oops that combined the two lists, it should be: # Install very minimal QEMU build deps for use in CI # $ lcitool variables debian-10 qemu+minimal RUN apt update && \ DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \ bzip2 \ ca-certificates \ ccache \ g++ \ gcc \ git \ libcapstone-dev \ libfdt-dev \ libglib2.0-dev \ libpixman-1-dev \ libtest-harness-perl \ locales \ make \ ninja-build \ perl-base \ pkgconf \ python3-pip \ python3-setuptools \ python3-wheel > +COPY --from=0 /usr/local /usr/local > +ENV PATH $PATH:/usr/local/bin/ > + > +# This image can only build a very minimal QEMU as well as the tests > +ENV DEF_TARGET_LIST tricore-softmmu > +ENV QEMU_CONFIGURE_OPTS --disable-user --disable-tools -- Alex Bennée