1# 2# Docker all cross-compiler target (tests only) 3# 4# While the normal cross builds take care to setup proper multiarch 5# build environments which can cross build QEMU this just installs the 6# basic compilers for as many targets as possible. We shall use this 7# to build and run linux-user tests on GitLab 8# 9FROM qemu/debian10 10 11# What we need to build QEMU itself 12RUN apt update && \ 13 DEBIAN_FRONTEND=noninteractive eatmydata \ 14 apt build-dep -yy qemu 15 16# Add the foreign architecture we want and install dependencies 17RUN DEBIAN_FRONTEND=noninteractive eatmydata \ 18 apt install -y --no-install-recommends \ 19 gcc-aarch64-linux-gnu \ 20 libc6-dev-arm64-cross \ 21 gcc-alpha-linux-gnu \ 22 libc6.1-dev-alpha-cross \ 23 gcc-arm-linux-gnueabihf \ 24 libc6-dev-armhf-cross \ 25 gcc-hppa-linux-gnu \ 26 libc6-dev-hppa-cross \ 27 gcc-m68k-linux-gnu \ 28 libc6-dev-m68k-cross \ 29 gcc-mips-linux-gnu \ 30 libc6-dev-mips-cross \ 31 gcc-mips64-linux-gnuabi64 \ 32 libc6-dev-mips64-cross \ 33 gcc-mips64el-linux-gnuabi64 \ 34 libc6-dev-mips64el-cross \ 35 gcc-mipsel-linux-gnu \ 36 libc6-dev-mipsel-cross \ 37 gcc-powerpc-linux-gnu \ 38 libc6-dev-powerpc-cross \ 39 gcc-powerpc64-linux-gnu \ 40 libc6-dev-ppc64-cross \ 41 gcc-powerpc64le-linux-gnu \ 42 libc6-dev-ppc64el-cross \ 43 gcc-riscv64-linux-gnu \ 44 libc6-dev-riscv64-cross \ 45 gcc-s390x-linux-gnu \ 46 libc6-dev-s390x-cross \ 47 gcc-sh4-linux-gnu \ 48 libc6-dev-sh4-cross \ 49 gcc-sparc64-linux-gnu \ 50 libc6-dev-sparc64-cross 51 52ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools 53ENV DEF_TARGET_LIST aarch64-linux-user,alpha-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sh4-linux-user,sparc64-linux-user 54