| 1 | language: c |
| 2 | os: |
| 3 | - linux |
| 4 | compiler: |
| 5 | - clang |
| 6 | - gcc |
| 7 | env: |
| 8 | matrix: |
| 9 | - BUILD_ARCH="x86" |
| 10 | - BUILD_ARCH="x86_64" |
| 11 | global: |
| 12 | - MAKEFLAGS="-j 2" |
| 13 | matrix: |
| 14 | include: |
| 15 | - os: osx |
| 16 | compiler: clang # Workaround travis setting CC=["clang", "gcc"] |
| 17 | env: BUILD_ARCH="x86_64" |
| 18 | # Build using the 10.12 SDK but target and run on OSX 10.11 |
| 19 | # - os: osx |
| 20 | # compiler: clang |
| 21 | # osx_image: xcode8 |
| 22 | # env: SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk MACOSX_DEPLOYMENT_TARGET=10.11 |
| 23 | # Build on the latest OSX version (will eventually become obsolete) |
| 24 | - os: osx |
| 25 | compiler: clang |
| 26 | osx_image: xcode8.3 |
| 27 | env: BUILD_ARCH="x86_64" |
| 28 | - os: osx |
| 29 | compiler: clang |
| 30 | osx_image: xcode9.4 |
| 31 | env: BUILD_ARCH="x86_64" |
| 32 | exclude: |
| 33 | - os: osx |
| 34 | compiler: gcc |
| 35 | exclude: |
| 36 | - os: linux |
| 37 | compiler: clang |
| 38 | env: BUILD_ARCH="x86" # Only do the gcc x86 build to reduce clutter |
| 39 | before_install: |
| 40 | - EXTRA_CFLAGS="-Werror" |
| 41 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then |
| 42 | pkgs=(libaio-dev libnuma-dev libz-dev librbd-dev libibverbs-dev librdmacm-dev); |
| 43 | if [[ "$BUILD_ARCH" == "x86" ]]; then |
| 44 | pkgs=("${pkgs[@]/%/:i386}"); |
| 45 | pkgs+=(gcc-multilib); |
| 46 | EXTRA_CFLAGS="${EXTRA_CFLAGS} -m32"; |
| 47 | else |
| 48 | pkgs+=(glusterfs-common); |
| 49 | fi; |
| 50 | sudo apt-get -qq update; |
| 51 | sudo apt-get install --no-install-recommends -qq -y "${pkgs[@]}"; |
| 52 | fi |
| 53 | script: |
| 54 | - ./configure --extra-cflags="${EXTRA_CFLAGS}" && make |
| 55 | - make test |