1language: c 2 3matrix: 4 include: 5# OSX standard test build 6# this is really a GCC frontend with an LLVM back-end 7 - os: osx 8 env: 9 - MATRIX_EVAL="CC=gcc && CXX=g++" 10 11# OSX and pure GCCs 12# https://docs.travis-ci.com/user/languages/c/#GCC-on-OS-X 13 - os: osx 14 env: 15 - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" 16 17 - os: osx 18 env: 19 - MATRIX_EVAL="brew install gcc5 && CC=gcc-5 && CXX=g++-5" 20 21 - os: osx 22 env: 23 - MATRIX_EVAL="brew install gcc6 && CC=gcc-6 && CXX=g++-6" 24 25 - os: osx 26 env: 27 - MATRIX_EVAL="brew install gcc && CC=gcc-7 && CXX=g++-7" 28 29# OSX and pure LLVMs - the version is controlled by the osx_image variable 30# images as per https://blog.travis-ci.com/2017-10-16-a-new-default-os-x-image-is-coming 31 - os: osx 32 osx_image: xcode6.4 33 env: 34 - MATRIX_EVAL="CC=clang && CXX=clang" 35 36 - os: osx 37 osx_image: xcode7.3 38 env: 39 - MATRIX_EVAL="CC=clang && CXX=clang" 40 41 - os: osx 42 osx_image: xcode8.3 43 env: 44 - MATRIX_EVAL="CC=clang && CXX=clang" 45 46 - os: osx 47 osx_image: xcode9 48 env: 49 - MATRIX_EVAL="CC=clang && CXX=clang" 50 51 - os: osx 52 osx_image: xcode9.1 53 env: 54 - MATRIX_EVAL="CC=clang && CXX=clang" 55 56# Linux and GCCs 57 # gcc 4.8 at the time of writing 58 - os: linux 59 dist: trusty 60 env: 61 - MATRIX_EVAL="CC=gcc && CXX=g++" 62 63# for newer GCCs, add ubuntu-toolchain-r-test 64# https://docs.travis-ci.com/user/languages/c/ 65 - os: linux 66 dist: trusty 67 addons: 68 apt: 69 sources: 70 - ubuntu-toolchain-r-test 71 packages: 72 - g++-4.9 73 env: 74 - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" 75 76 - os: linux 77 dist: trusty 78 addons: 79 apt: 80 sources: 81 - ubuntu-toolchain-r-test 82 packages: 83 - g++-5 84 env: 85 - MATRIX_EVAL="CC=gcc-5 && CXX=g++-5" 86 87 - os: linux 88 dist: trusty 89 addons: 90 apt: 91 sources: 92 - ubuntu-toolchain-r-test 93 packages: 94 - g++-6 95 env: 96 - MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" 97 98 99 - os: linux 100 dist: trusty 101 addons: 102 apt: 103 sources: 104 - ubuntu-toolchain-r-test 105 packages: 106 - g++-7 107 env: 108 - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" 109 110# Linux and LLVMs 111# https://docs.travis-ci.com/user/languages/c/#Clang 112 - os: linux 113 dist: trusty 114 env: 115 - MATRIX_EVAL="CC=clang && CXX=clang" 116 117 - os: linux 118 dist: trusty 119 addons: 120 apt: 121 sources: 122 - ubuntu-toolchain-r-test 123 - llvm-toolchain-precise-3.6 124 packages: 125 - clang-3.6 126 env: 127 - MATRIX_EVAL="CC=clang-3.6 && CXX=clang++-3.6" 128 129 - os: linux 130 dist: trusty 131 addons: 132 apt: 133 sources: 134 - ubuntu-toolchain-r-test 135 - llvm-toolchain-precise-3.7 136 packages: 137 - clang-3.7 138 env: 139 - MATRIX_EVAL="CC=clang-3.7 && CXX=clang++-3.7" 140 141 - os: linux 142 dist: trusty 143 addons: 144 apt: 145 sources: 146 - ubuntu-toolchain-r-test 147 - llvm-toolchain-precise-3.8 148 packages: 149 - clang-3.8 150 env: 151 - MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" 152 153 - os: linux 154 dist: trusty 155 addons: 156 apt: 157 sources: 158 - llvm-toolchain-trusty-3.9 159 packages: 160 - clang-3.9 161 env: 162 - MATRIX_EVAL="CC=clang-3.9 && CXX=clang++-3.9" 163 164 - os: linux 165 dist: trusty 166 addons: 167 apt: 168 sources: 169 - llvm-toolchain-trusty-4.0 170 packages: 171 - clang-4.0 172 env: 173 - MATRIX_EVAL="CC=clang-4.0 && CXX=clang++-4.0" 174 175 - os: linux 176 dist: trusty 177 addons: 178 apt: 179 sources: 180 - llvm-toolchain-trusty-5.0 181 packages: 182 - clang-5.0 183 env: 184 - MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0" 185 186 187before_install: 188# avoid issues with outdated Homebrew installation on Mac OSX by updating it 189# before anything else 190# TODO: remove "brew update" line after 2017-11-15, see https://blog.travis-ci.com/2017-10-16-a-new-default-os-x-image-is-coming and 191# https://github.com/travis-ci/travis-ci/issues/8552 192 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi 193 - eval "${MATRIX_EVAL}" 194 195script: autoreconf -V && autoreconf --force && ./configure && cat config.log && make && make check 196