env:
  MAKEJOBS: "-j4"
  RUN_TESTS: "true"
  BASE_OUTDIR: "$CIRRUS_WORKING_DIR/out_dir_base"
  DEBIAN_FRONTEND: "noninteractive"

task:
  container:
    image: ubuntu:focal
    cpu: 1
    memory: 1G
    greedy: true  # https://medium.com/cirruslabs/introducing-greedy-container-instances-29aad06dc2b4

  matrix:
    - name: "gcc"
      env:
        CC: "gcc"
        CXX: "g++"
        APT_PKGS: "gcc"
    - name: "clang"
      env:
        CC: "clang"
        CXX: "clang++"
        APT_PKGS: "clang"
    - name: "mingw"
      env:
        CC: ""
        CXX: ""
        UNIVALUE_CONFIG: "--host=x86_64-w64-mingw32"
        APT_PKGS: "g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64 binutils-mingw-w64-x86-64"
        RUN_TESTS: "false"

  install_script:
    - apt update
    - apt install -y pkg-config build-essential libtool autotools-dev automake bsdmainutils
    - apt install -y $APT_PKGS
  autogen_script:
     - ./autogen.sh
  configure_script:
     - ./configure --cache-file=config.cache --bindir=$BASE_OUTDIR/bin --libdir=$BASE_OUTDIR/lib $UNIVALUE_CONFIG
  make_script:
     - make $MAKEJOBS V=1
  test_script:
     - if [ "$RUN_TESTS" = "true" ]; then make $MAKEJOBS distcheck; fi
