language: c sudo: required matrix: include: ### OS X - os: osx env: C_COMPILER=clang ### linux gcc and format check - dist: xenial addons: apt: packages: - nasm install: # Install newer indent to check formatting - sudo apt-get install texinfo - wget http://archive.ubuntu.com/ubuntu/pool/main/i/indent/indent_2.2.12.orig.tar.xz -O /tmp/indent.tar.xz - tar -xJf /tmp/indent.tar.xz -C /tmp/ - pushd /tmp/indent-2.2.12 && ./configure --prefix=/usr && make && sudo make install && popd env: C_COMPILER=gcc ### linux clang - dist: xenial addons: apt: packages: - nasm env: C_COMPILER=clang ### linux newer clang - dist: trusty addons: apt: sources: - ubuntu-toolchain-r-test - llvm-toolchain-trusty-4.0 packages: - clang-4.0 env: C_COMPILER=clang-4.0 ### linux older gcc - dist: trusty addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-4.7 env: C_COMPILER=gcc-4.7 ### linux newer gcc - dist: trusty addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-6 env: C_COMPILER=gcc-6 ### linux extended tests - dist: xenial addons: apt: sources: - ubuntu-toolchain-r-test packages: - binutils-mingw-w64-x86-64 - gcc-mingw-w64-x86-64 - wine - nasm env: TEST_TYPE=ext before_install: - if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi - if [ -n "${AS_ASSEMBL}" ]; then export AS="${AS_ASSEMBL}"; fi before_script: - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get -q update; fi - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install yasm; fi - if [ $TRAVIS_OS_NAME = osx ]; then brew install yasm; fi script: - if [ -n "${CC}" ]; then $CC --version; fi - if [ -n "${AS}" ]; then $AS --version || echo No version; fi - ./tools/test_autorun.sh "${TEST_TYPE}"