aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2019-08-14 15:25:50 +0000
committerAlex Bennée <alex.bennee@linaro.org>2019-09-10 14:14:31 +0100
commitec22b72699abf1860ca9692717e997e527046ee4 (patch)
treed4e66782fbfe0511a35828ed4f785de8a4858836
parentbf5b512cd416b165a677e47229f8968b461b9004 (diff)
downloadqemu-ec22b72699abf1860ca9692717e997e527046ee4.zip
qemu-ec22b72699abf1860ca9692717e997e527046ee4.tar.gz
qemu-ec22b72699abf1860ca9692717e997e527046ee4.tar.bz2
tests/docker: add debian-amd64-cross for non-x86 hosts
When building on a non-x86 host we need to setup the x86 build like any other cross compiler. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
-rw-r--r--.shippable.yml2
-rw-r--r--tests/docker/Makefile.include6
-rw-r--r--tests/docker/dockerfiles/debian-amd64-cross.docker22
3 files changed, 30 insertions, 0 deletions
diff --git a/.shippable.yml b/.shippable.yml
index f74a3de..bbc6f88 100644
--- a/.shippable.yml
+++ b/.shippable.yml
@@ -27,6 +27,8 @@ env:
TARGET_LIST=ppc64-softmmu,ppc64-linux-user,ppc64abi32-linux-user
build:
pre_ci:
+ # usually host ARCH is set by configure
+ - echo "ARCH=$(uname -m)" > config-host.mak
- make docker-image-${IMAGE} V=1
pre_ci_boot:
image_name: qemu
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 27a1cc0..7df8dbe 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -89,7 +89,13 @@ endif
# Enforce dependencies for composite images
docker-image-debian9-mxe: docker-image-debian9
+ifeq ($(ARCH),x86_64)
docker-image-debian-amd64: docker-image-debian9
+DOCKER_PARTIAL_IMAGES += debian-amd64-cross
+else
+docker-image-debian-amd64-cross: docker-image-debian10
+DOCKER_PARTIAL_IMAGES += debian-amd64
+endif
docker-image-debian-armel-cross: docker-image-debian9
docker-image-debian-armhf-cross: docker-image-debian9
docker-image-debian-mips-cross: docker-image-debian9
diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
new file mode 100644
index 0000000..5d89041
--- /dev/null
+++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
@@ -0,0 +1,22 @@
+#
+# Docker x86_64 cross target
+#
+# This docker target is used on non-x86_64 machines which need the
+# x86_64 cross compilers installed.
+#
+FROM qemu:debian10
+MAINTAINER Alex Bennée <alex.bennee@linaro.org>
+
+# Add the foreign architecture we want and install dependencies
+RUN dpkg --add-architecture amd64
+RUN apt update && \
+ DEBIAN_FRONTEND=noninteractive eatmydata \
+ apt install -y --no-install-recommends \
+ crossbuild-essential-amd64
+RUN apt update && \
+ DEBIAN_FRONTEND=noninteractive eatmydata \
+ apt build-dep -yy -a amd64 --arch-only qemu
+
+# Specify the cross prefix for this image (see tests/docker/common.rc)
+ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-linux-gnu-
+ENV DEF_TARGET_LIST x86_64-softmmu,x86_64-linux-user,i386-softmmu,i386-linux-user