# Travis-CI Build for solanum
# see travis-ci.org for details

language: c

# Use the faster container-based infrastructure.
dist: bionic
sudo: false

branches:
  only:
  - main

matrix:
  include:
    - os: linux
      compiler: gcc-7
      addons:
        apt:
          packages: ['gcc-7', 'automake', 'autoconf', 'libtool', 'shtool', 'libsqlite3-dev', 'python-sphinx', 'texinfo', 'libhyperscan-dev']

    - os: linux
      compiler: gcc-8
      addons:
        apt:
          packages: ['gcc-8', 'automake', 'autoconf', 'libtool', 'shtool', 'libsqlite3-dev', 'python-sphinx', 'texinfo', 'libhyperscan-dev']

    - os: linux
      compiler: clang-7
      addons:
        apt:
          packages: ['clang-7', 'automake', 'autoconf', 'libtool', 'shtool', 'libsqlite3-dev', 'python-sphinx', 'texinfo', 'libhyperscan-dev']

    - os: linux
      compiler: clang-8
      addons:
        apt:
          packages: ['clang-8', 'automake', 'autoconf', 'libtool', 'shtool', 'libsqlite3-dev', 'python-sphinx', 'texinfo', 'libhyperscan-dev']

    - os: osx
      osx_image: xcode7.3
      compiler: clang
      env: LIBTOOLIZE=glibtoolize

cache:
  apt:
  ccache:

script:
  - bash autogen.sh
  - "if [ ${TRAVIS_OS_NAME} != 'osx' ]; then CFLAGS=\"-Werror -Wno-unused-value -Wno-unused-parameter\" ./configure --with-shared-sqlite --enable-assert=hard --enable-warnings; fi"
  - "if [ ${TRAVIS_OS_NAME} = 'osx' ]; then ./configure --with-shared-sqlite; fi"
  - make -j4
  - "if [ ${TRAVIS_OS_NAME} != 'osx' ]; then make check; fi"
  - make install
  - "if [ ${TRAVIS_OS_NAME} != 'osx' ]; then make -C doc/oper-guide html man info; fi"
