tests/tcg: enable building for Alpha

We can't use our normal Debian based compilers as Alpha isn't an
officially supported architecture. However it is available as a port
and fortunately cross compilers for all these targets are included in
Debian Sid, the perpetual rolling/unstable/testing version of Debian.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
Alex Bennée 2018-04-23 13:54:09 +01:00
parent 1e2107092d
commit 409c1c9cbd
5 changed files with 59 additions and 0 deletions

View File

@ -64,6 +64,13 @@ docker-image-debian-ppc64el-cross: docker-image-debian9
docker-image-debian-s390x-cross: docker-image-debian9
docker-image-debian-win32-cross: docker-image-debian8-mxe
docker-image-debian-win64-cross: docker-image-debian8-mxe
# Debian SID images - we are tracking a rolling distro so we want to
# force a re-build of the base image if we ever need to build one of
# its children.
docker-image-debian-sid: NOCACHE=1
docker-image-debian-alpha-cross: docker-image-debian-sid
docker-image-travis: NOUSER=1
# Specialist build images, sometimes very limited tools

View File

@ -0,0 +1,12 @@
#
# Docker cross-compiler target
#
# This docker target builds on the debian sid base image which
# contains cross compilers for Debian "ports" targets.
#
FROM qemu:debian-sid
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
apt-get install -y --no-install-recommends \
gcc-alpha-linux-gnu \
libc6.1-dev-alpha-cross || { echo "Failed to build - see debian-sid.docker notes"; exit 1; }

View File

@ -0,0 +1,32 @@
#
# Debian Sid Base
#
# A number of our guests exist as ports only. We can either use the
# ports repo or get everything from Sid. However Sid is a rolling
# distro which may be broken at any particular time. If you are
# unlucky and try and build your images while gcc is in the process of
# being uploaded this can fail. Your only recourse is to try again in
# a few hours when the repos have re-synced. Once built however you
# won't be affected by repo changes unless the docker recipies are
# updated and trigger a re-build.
#
FROM debian:sid-slim
# Duplicate deb line as deb-src
RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
# Install common build utilities
RUN apt update
RUN DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
apt install -y --no-install-recommends \
bison \
build-essential \
ca-certificates \
flex \
git \
pkg-config \
psmisc \
python \
texinfo || { echo "Failed to build - see debian-sid.docker notes"; exit 1; }

View File

@ -0,0 +1,2 @@
DOCKER_IMAGE=debian-alpha-cross
DOCKER_CROSS_COMPILER=alpha-linux-gnu-gcc

View File

@ -0,0 +1,6 @@
# -*- Mode: makefile -*-
#
# Alpha specific tweaks
# On Alpha Linux only supports 8k pages
EXTRA_RUNS+=run-test-mmap-8192