language: c addons: apt: packages: - libzstd-dev liblzo2-dev liblz4-dev lzma-dev zlib1g-dev homebrew: packages: - zstd lzo lz4 xz zlib script: - ./autogen.sh - ./configure $CONFIG_OPTS - make - make check matrix: include: # gcc based builds for amd64, arm64, ppc64 - name: ubuntu-gcc-amd64 os: linux arch: amd64 dist: bionic compiler: gcc env: - CONFIG_OPTS="--with-pthread" - name: ubuntu-gcc-arm64 os: linux arch: arm64 dist: bionic compiler: gcc env: - CONFIG_OPTS="--with-pthread" - name: ubuntu-gcc-ppc64le os: linux arch: ppc64le dist: bionic compiler: gcc env: - CONFIG_OPTS="--with-pthread" # clang based builds for amd64, arm64, ppc64 - name: ubuntu-clang-amd64 os: linux arch: amd64 dist: bionic compiler: clang env: - CONFIG_OPTS="--with-pthread" - name: ubuntu-clang-arm64 os: linux arch: arm64 dist: bionic compiler: clang env: - CONFIG_OPTS="--with-pthread" - name: ubuntu-clang-ppc64le os: linux arch: ppc64le dist: bionic compiler: clang env: - CONFIG_OPTS="--with-pthread" # clang based build for macOS - name: macOS os: osx env: - CONFIG_OPTS="--with-pthread" # special configurations # -> build on Xenial to test liblz4 fallback # -> try if building the serial block processor works - name: ubuntu-gcc-amd64-nopthread os: linux arch: amd64 dist: xenial compiler: gcc env: - CONFIG_OPTS="--without-pthread" # Try on an uncommon, big endian system - name: ubuntu-gcc-s390x os: linux arch: s390x dist: bionic compiler: gcc env: - CONFIG_OPTS="--with-pthread" # Try to run the mingw based Windows cross build - name: ubuntu-mingw-amd64 os: linux arch: amd64 dist: bionic compiler: gcc addons: apt: packages: - libzstd-dev liblzo2-dev liblz4-dev lzma-dev zlib1g-dev - binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 - gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 - mingw-w64-x86-64-dev mingw-w64-common script: - ./mkwinbins.sh