From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fJN6G-00039s-J0 for qemu-devel@nongnu.org; Thu, 17 May 2018 13:54:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fJN6F-000763-CQ for qemu-devel@nongnu.org; Thu, 17 May 2018 13:54:00 -0400 Received: from mail-wm0-x229.google.com ([2a00:1450:400c:c09::229]:32853) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fJN6F-00075X-2R for qemu-devel@nongnu.org; Thu, 17 May 2018 13:53:59 -0400 Received: by mail-wm0-x229.google.com with SMTP id x12-v6so475252wmc.0 for ; Thu, 17 May 2018 10:53:58 -0700 (PDT) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Thu, 17 May 2018 18:47:07 +0100 Message-Id: <20180517174718.10107-39-alex.bennee@linaro.org> In-Reply-To: <20180517174718.10107-1-alex.bennee@linaro.org> References: <20180517174718.10107-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PATCH v4 38/49] tests/tcg: enable building for Alpha List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: cota@braap.org, famz@redhat.com, berrange@redhat.com, f4bug@amsat.org, richard.henderson@linaro.org, balrogg@gmail.com, aurelien@aurel32.net, agraf@suse.de Cc: qemu-devel@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson 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 --- tests/docker/Makefile.include | 1 + .../dockerfiles/debian-alpha-cross.docker | 12 +++++++ .../dockerfiles/debian-cross-build.docker | 36 +++++++++++++++++++ tests/docker/dockerfiles/debian-sid.docker | 23 ++++++++++++ tests/tcg/alpha/Makefile.include | 2 ++ 5 files changed, 74 insertions(+) create mode 100644 tests/docker/dockerfiles/debian-alpha-cross.docker create mode 100644 tests/docker/dockerfiles/debian-cross-build.docker create mode 100644 tests/docker/dockerfiles/debian-sid.docker create mode 100644 tests/tcg/alpha/Makefile.include diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 6a5aa9ec71..bcf44e80c4 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -62,6 +62,7 @@ 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 +docker-image-debian-alpha-cross: docker-image-debian-sid docker-image-travis: NOUSER=1 # Expand all the pre-requistes for each docker image and test combination diff --git a/tests/docker/dockerfiles/debian-alpha-cross.docker b/tests/docker/dockerfiles/debian-alpha-cross.docker new file mode 100644 index 0000000000..e446f7af3f --- /dev/null +++ b/tests/docker/dockerfiles/debian-alpha-cross.docker @@ -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 diff --git a/tests/docker/dockerfiles/debian-cross-build.docker b/tests/docker/dockerfiles/debian-cross-build.docker new file mode 100644 index 0000000000..c3611a7d3a --- /dev/null +++ b/tests/docker/dockerfiles/debian-cross-build.docker @@ -0,0 +1,36 @@ +# +# Docker multiarch cross-compiler target +# +# This docker target is builds on Debian cross compiler targets to build distro +# with a selection of cross compilers for building test binaries. +# +# On its own you can't build much but the docker-foo-cross targets +# build on top of the base debian image. +# +FROM debian:stretch + +# 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 \ + gettext \ + git \ + libgmp-dev \ + libmpfr-dev \ + libmpc-dev \ + pkg-config \ + psmisc \ + python \ + texinfo \ + wget \ + $(apt-get -s build-dep binutils | egrep ^Inst | cut -d\ -f2) \ + $(apt-get -s build-dep gcc | egrep ^Inst | cut -d\ -f2) \ + $(apt-get -s build-dep glibc | egrep ^Inst | cut -d\ -f2) diff --git a/tests/docker/dockerfiles/debian-sid.docker b/tests/docker/dockerfiles/debian-sid.docker new file mode 100644 index 0000000000..adeb7134ca --- /dev/null +++ b/tests/docker/dockerfiles/debian-sid.docker @@ -0,0 +1,23 @@ +# +# A number of our guests exist as ports only. We can either use the ports repo or get everything from SID +# + +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 diff --git a/tests/tcg/alpha/Makefile.include b/tests/tcg/alpha/Makefile.include new file mode 100644 index 0000000000..c7dc48eadb --- /dev/null +++ b/tests/tcg/alpha/Makefile.include @@ -0,0 +1,2 @@ +DOCKER_IMAGE=debian-alpha-cross +DOCKER_CROSS_COMPILER=alpha-linux-gnu-gcc -- 2.17.0