12b1c10bdSPhilippe Mathieu-Daudé#
22b1c10bdSPhilippe Mathieu-Daudé# Docker ppc64el cross-compiler target
32b1c10bdSPhilippe Mathieu-Daudé#
42b1c10bdSPhilippe Mathieu-Daudé# This docker target builds on the debian Stretch base image.
52b1c10bdSPhilippe Mathieu-Daudé#
62b1c10bdSPhilippe Mathieu-DaudéFROM qemu:debian9
72b1c10bdSPhilippe Mathieu-Daudé
82b1c10bdSPhilippe Mathieu-Daudé# Add the foreign architecture we want and install dependencies
92b1c10bdSPhilippe Mathieu-DaudéRUN dpkg --add-architecture ppc64el && \
1098808c3dSPhilippe Mathieu-Daudé    apt update && \
1198808c3dSPhilippe Mathieu-Daudé    apt install -yy crossbuild-essential-ppc64el
122b1c10bdSPhilippe Mathieu-Daudé
1398808c3dSPhilippe Mathieu-DaudéRUN apt update && \
1498808c3dSPhilippe Mathieu-Daudé    DEBIAN_FRONTEND=noninteractive eatmydata \
15*d2467284SAlex Bennée    apt build-dep -yy -a ppc64el --arch-only qemu
162b1c10bdSPhilippe Mathieu-Daudé
172b1c10bdSPhilippe Mathieu-Daudé# Specify the cross prefix for this image (see tests/docker/common.rc)
182b1c10bdSPhilippe Mathieu-DaudéENV QEMU_CONFIGURE_OPTS --cross-prefix=powerpc64le-linux-gnu-
1909bb808fSAlex BennéeENV DEF_TARGET_LIST ppc64-softmmu,ppc64-linux-user,ppc64abi32-linux-user
202b1c10bdSPhilippe Mathieu-Daudé
212b1c10bdSPhilippe Mathieu-Daudé# Install extra libraries to increase code coverage
2298808c3dSPhilippe Mathieu-DaudéRUN apt update && \
2398808c3dSPhilippe Mathieu-Daudé    DEBIAN_FRONTEND=noninteractive eatmydata \
2498808c3dSPhilippe Mathieu-Daudé    apt install -y --no-install-recommends \
252b1c10bdSPhilippe Mathieu-Daudé        libbz2-dev:ppc64el \
262b1c10bdSPhilippe Mathieu-Daudé        liblzo2-dev:ppc64el \
272b1c10bdSPhilippe Mathieu-Daudé        librdmacm-dev:ppc64el \
282b1c10bdSPhilippe Mathieu-Daudé        libsnappy-dev:ppc64el
29