diff options
author | Philippe Mathieu-Daudé | 2017-07-18 04:47:09 +0200 |
---|---|---|
committer | Alex Bennée | 2017-07-18 11:58:36 +0200 |
commit | 982e758af713044f716811d819a1b5978c6f5136 (patch) | |
tree | 547e91ca337f31f258cb147d7483e44db8b8e320 /tests | |
parent | shippable: add mips64el targets (diff) | |
download | qemu-982e758af713044f716811d819a1b5978c6f5136.tar.gz qemu-982e758af713044f716811d819a1b5978c6f5136.tar.xz qemu-982e758af713044f716811d819a1b5978c6f5136.zip |
docker: add MXE (M cross environment) base image for MinGW-w64
see http://mxe.cc/
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/docker/Makefile.include | 3 | ||||
-rw-r--r-- | tests/docker/dockerfiles/debian-win32-cross.docker | 32 | ||||
-rw-r--r-- | tests/docker/dockerfiles/debian-win64-cross.docker | 32 | ||||
-rw-r--r-- | tests/docker/dockerfiles/debian8-mxe.docker | 18 |
4 files changed, 85 insertions, 0 deletions
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 5a8283674a..e993e149e7 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -58,6 +58,7 @@ docker-image-%: $(DOCKER_FILES_DIR)/%.docker docker-image-debian-powerpc-cross: EXTRA_FILES:=tests/docker/dockerfiles/debian-apt-fake.sh # Enforce dependancies for composite images +docker-image-debian8-mxe: docker-image-debian8 docker-image-debian-amd64: docker-image-debian9 docker-image-debian-armel-cross: docker-image-debian9 docker-image-debian-armhf-cross: docker-image-debian9 @@ -67,6 +68,8 @@ docker-image-debian-mips64el-cross: docker-image-debian9 docker-image-debian-powerpc-cross: docker-image-debian8 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 # Expand all the pre-requistes for each docker image and test combination $(foreach i,$(DOCKER_IMAGES), \ diff --git a/tests/docker/dockerfiles/debian-win32-cross.docker b/tests/docker/dockerfiles/debian-win32-cross.docker new file mode 100644 index 0000000000..dd021f2df0 --- /dev/null +++ b/tests/docker/dockerfiles/debian-win32-cross.docker @@ -0,0 +1,32 @@ +# +# Docker mingw32 cross-compiler target +# +# This docker target builds on the debian Jessie MXE base image. +# +FROM qemu:debian8-mxe + +MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> + +ENV TARGET i686 + +RUN DEBIAN_FRONTEND=noninteractive eatmydata \ + apt-get install -y --no-install-recommends \ + mxe-$TARGET-w64-mingw32.shared-bzip2 \ + mxe-$TARGET-w64-mingw32.shared-curl \ + mxe-$TARGET-w64-mingw32.shared-glib \ + mxe-$TARGET-w64-mingw32.shared-libgcrypt \ + mxe-$TARGET-w64-mingw32.shared-libssh2 \ + mxe-$TARGET-w64-mingw32.shared-libusb1 \ + mxe-$TARGET-w64-mingw32.shared-lzo \ + mxe-$TARGET-w64-mingw32.shared-nettle \ + mxe-$TARGET-w64-mingw32.shared-ncurses \ + mxe-$TARGET-w64-mingw32.shared-pixman \ + mxe-$TARGET-w64-mingw32.shared-pkgconf \ + mxe-$TARGET-w64-mingw32.shared-pthreads \ + mxe-$TARGET-w64-mingw32.shared-sdl2 \ + mxe-$TARGET-w64-mingw32.shared-sdl2-mixer \ + mxe-$TARGET-w64-mingw32.shared-sdl2-gfx \ + mxe-$TARGET-w64-mingw32.shared-zlib + +# Specify the cross prefix for this image (see tests/docker/common.rc) +ENV QEMU_CONFIGURE_OPTS --cross-prefix=$TARGET-w64-mingw32.shared- diff --git a/tests/docker/dockerfiles/debian-win64-cross.docker b/tests/docker/dockerfiles/debian-win64-cross.docker new file mode 100644 index 0000000000..4542bcc821 --- /dev/null +++ b/tests/docker/dockerfiles/debian-win64-cross.docker @@ -0,0 +1,32 @@ +# +# Docker mingw64 cross-compiler target +# +# This docker target builds on the debian Jessie MXE base image. +# +FROM qemu:debian8-mxe + +MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> + +ENV TARGET x86-64 + +RUN DEBIAN_FRONTEND=noninteractive eatmydata \ + apt-get install -y --no-install-recommends \ + mxe-$TARGET-w64-mingw32.shared-bzip2 \ + mxe-$TARGET-w64-mingw32.shared-curl \ + mxe-$TARGET-w64-mingw32.shared-glib \ + mxe-$TARGET-w64-mingw32.shared-libgcrypt \ + mxe-$TARGET-w64-mingw32.shared-libssh2 \ + mxe-$TARGET-w64-mingw32.shared-libusb1 \ + mxe-$TARGET-w64-mingw32.shared-lzo \ + mxe-$TARGET-w64-mingw32.shared-nettle \ + mxe-$TARGET-w64-mingw32.shared-ncurses \ + mxe-$TARGET-w64-mingw32.shared-pixman \ + mxe-$TARGET-w64-mingw32.shared-pkgconf \ + mxe-$TARGET-w64-mingw32.shared-pthreads \ + mxe-$TARGET-w64-mingw32.shared-sdl2 \ + mxe-$TARGET-w64-mingw32.shared-sdl2-mixer \ + mxe-$TARGET-w64-mingw32.shared-sdl2-gfx \ + mxe-$TARGET-w64-mingw32.shared-zlib + +# Specify the cross prefix for this image (see tests/docker/common.rc) +ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32.shared- diff --git a/tests/docker/dockerfiles/debian8-mxe.docker b/tests/docker/dockerfiles/debian8-mxe.docker new file mode 100644 index 0000000000..7bf1b59e54 --- /dev/null +++ b/tests/docker/dockerfiles/debian8-mxe.docker @@ -0,0 +1,18 @@ +# +# Docker mingw cross-compiler target +# +# This docker target builds on the debian Jessie base image. +# +FROM qemu:debian8 + +MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> + +# Add the foreign architecture we want and install dependencies +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D43A795B73B16ABE9643FE1AFD8FFF16DB45C6AB && \ + echo "deb http://pkg.mxe.cc/repos/apt/debian jessie main" > /etc/apt/sources.list.d/mxeapt.list +RUN apt-get update +RUN DEBIAN_FRONTEND=noninteractive eatmydata \ + apt-get install -y --no-install-recommends \ + $(apt-get -s install -y --no-install-recommends gw32.shared-mingw-w64 gw32.shared-mingw-w64 | egrep "^Inst mxe-x86-64-unknown-" | cut -d\ -f2) + +ENV PATH $PATH:/usr/lib/mxe/usr/bin/ |