language: c

sudo: false

cache:
  directories:
    - $HOME/cpu_features_archives

matrix:
  include:
  - os: linux
    compiler: gcc
    env:
      TOOLCHAIN=NATIVE
      TARGET=native
  - os: linux
    compiler: clang
    env:
      TOOLCHAIN=NATIVE
      TARGET=native
  - os: osx
    compiler: gcc
    env:
      TOOLCHAIN=NATIVE
      TARGET=native
  - os: osx
    compiler: clang
    env:
      TOOLCHAIN=NATIVE
      TARGET=native
  - os: linux-ppc64le
    compiler: gcc
    env:
      TOOLCHAIN=NATIVE
      TARGET=native
  - os: linux-ppc64le
    compiler: clang
    env:
      TOOLCHAIN=NATIVE
      TARGET=native
  # Toolchains for little-endian, 64-bit ARMv8 for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=aarch64-linux-gnu
      QEMU_ARCH=aarch64
  # Toolchains for little-endian, hard-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=arm-linux-gnueabihf
      QEMU_ARCH=arm
  # Toolchains for little-endian, 32-bit ARMv8 for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=armv8l-linux-gnueabihf
      QEMU_ARCH=arm
  # Toolchains for little-endian, soft-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=arm-linux-gnueabi
      QEMU_ARCH=arm
  # Toolchains for big-endian, 64-bit ARMv8 for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=aarch64_be-linux-gnu
      QEMU_ARCH=DISABLED
  # Toolchains for big-endian, hard-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=armeb-linux-gnueabihf
      QEMU_ARCH=DISABLED
  # Toolchains for big-endian, soft-float, 32-bit ARMv7 (and earlier) for GNU/Linux systems
  - os: linux
    env:
      TOOLCHAIN=LINARO
      TARGET=armeb-linux-gnueabi
      QEMU_ARCH=DISABLED
  - os: linux
    env:
      TOOLCHAIN=CODESCAPE
      TARGET=mips-mti-linux-gnu
      QEMU_ARCH=DISABLED

script:
  - cmake --version
  - bash -e -x ./scripts/run_integration.sh
