language: c
git:
   submodules: false
env:
  global:
    - LC_ALL=C
  matrix:
    - IMAGE=debian-amd64
      TARGET_LIST=x86_64-softmmu,x86_64-linux-user
    - IMAGE=debian-win32-cross
      TARGET_LIST=arm-softmmu,i386-softmmu,lm32-softmmu
    - IMAGE=debian-win64-cross
      TARGET_LIST=aarch64-softmmu,sparc64-softmmu,x86_64-softmmu
    - IMAGE=debian-armel-cross
      TARGET_LIST=arm-softmmu,arm-linux-user,armeb-linux-user
    - IMAGE=debian-armhf-cross
      TARGET_LIST=arm-softmmu,arm-linux-user,armeb-linux-user
    - IMAGE=debian-arm64-cross
      TARGET_LIST=aarch64-softmmu,aarch64-linux-user
    - IMAGE=debian-s390x-cross
      TARGET_LIST=s390x-softmmu,s390x-linux-user
    - IMAGE=debian-mips-cross
      TARGET_LIST=mips-softmmu,mipsel-linux-user
    - IMAGE=debian-mips64el-cross
      TARGET_LIST=mips64el-softmmu,mips64el-linux-user
    - IMAGE=debian-powerpc-cross
      TARGET_LIST=ppc-softmmu,ppcemb-softmmu,ppc-linux-user
    - IMAGE=debian-ppc64el-cross
      TARGET_LIST=ppc64-softmmu,ppc64-linux-user,ppc64abi32-linux-user
build:
  pre_ci:
    - make docker-image-${IMAGE} V=1
  pre_ci_boot:
    image_name: qemu
    image_tag: ${IMAGE}
    pull: false
    options: "-e HOME=/root"
  ci:
    - unset CC
    # some targets require newer up to date packages, for example TARGET_LIST matching
    # aarch64*-softmmu|arm*-softmmu|ppc*-softmmu|microblaze*-softmmu|mips64el-softmmu)
    # see the configure script:
    #    error_exit "DTC (libfdt) version >= 1.4.2 not present. Your options:"
    #    "  (1) Preferred: Install the DTC (libfdt) devel package"
    #    "  (2) Fetch the DTC submodule, using:"
    #    "      git submodule update --init dtc"
    - dpkg --compare-versions `dpkg-query --showformat='${Version}' --show libfdt-dev` ge 1.4.2 || git submodule update --init dtc
    - ./configure ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST}
    - make -j$(($(getconf _NPROCESSORS_ONLN) + 1))