matrix:
  include:
  - os: osx
    osx_image: xcode9.2    # macOS 10.12 Sierra
  - os: osx
    osx_image: xcode11.2   # macOS 10.14 Mojave
  - os: linux

language: cpp

notifications:
  email: false

sudo: required
dist: trusty

install:
  - |
    if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
      sudo apt-get update
      sudo apt-get install -y libtommath0 libtommath-dev
    fi

script:
  - |
    if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
      ./autogen.sh --enable-binreloc --prefix=/opt/firebird
      make -j4
      make dist
      tar xzvf gen/Firebird-[0-9]*.tar.gz
      (cd Firebird-[0-9]*; sudo ./install.sh -silent)
    fi

    if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
      export LIBTOOLIZE=glibtoolize
      export LIBTOOL=glibtool

      mkdir extern/icu-macos
      pushd extern/icu-macos
      curl -OL https://github.com/unicode-org/icu/releases/download/release-59-2/icu4c-59_2-src.tgz
      curl -OL https://github.com/unicode-org/icu/commit/24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch
      tar xzf icu4c-59_2-src.tgz
      ICU_INSTALL_PATH=`pwd`/install
      cd icu/source
      patch -p3 < ../../24aeb9a5a5874f4ce5db912e30670ac3ae236971.patch
      ./runConfigureICU MacOSX --prefix=$ICU_INSTALL_PATH
      make -j4
      make install
      install_name_tool -id @rpath/lib/libicuuc.dylib $ICU_INSTALL_PATH/lib/libicuuc.dylib
      install_name_tool -id @rpath/lib/libicui18n.dylib $ICU_INSTALL_PATH/lib/libicui18n.dylib
      install_name_tool -id @rpath/lib/libicudata.dylib $ICU_INSTALL_PATH/lib/libicudata.dylib
      install_name_tool -change libicudata.59.dylib @loader_path/libicudata.59.dylib $ICU_INSTALL_PATH/lib/libicuuc.59.dylib
      install_name_tool -change libicudata.59.dylib @loader_path/libicudata.59.dylib $ICU_INSTALL_PATH/lib/libicui18n.59.dylib
      install_name_tool -change libicuuc.59.dylib @loader_path/libicuuc.59.dylib $ICU_INSTALL_PATH/lib/libicui18n.59.dylib
      popd
      mkdir -p gen/Release/firebird/lib
      mkdir -p gen/Debug/firebird/lib
      cp $ICU_INSTALL_PATH/lib/*.dylib gen/Release/firebird/lib/
      cp $ICU_INSTALL_PATH/lib/*.dylib gen/Debug/firebird/lib/

      export C_INCLUDE_PATH="$ICU_INSTALL_PATH/include:$C_INCLUDE_PATH"
      export CPLUS_INCLUDE_PATH="$ICU_INSTALL_PATH/include:$CPLUS_INCLUDE_PATH"

      LIBRARY_PATH="$ICU_INSTALL_PATH/lib:$LIBRARY_PATH" ./autogen.sh --with-builtin-tommath
      make -j4

      (cd gen; make -B -f make.platform.postfix ICU_LOC="$ICU_INSTALL_PATH/lib/")
      (cd gen; make -B -f Makefile.install)

      # Rename directory to make sure the build is relocatable.
      mv gen gen2
      sudo installer -pkg gen2/Release/*.pkg -verbose -target /

      export FIREBIRD_LOCK=`pwd`/temp
      echo "create database 't.fdb'; select '1' from rdb\$database; select _win1252 '2' from rdb\$database; select _utf8 '3' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql

      echo "create database 'localhost:/tmp/t.fdb' user sysdba password 'masterkey'; select '11' from rdb\$database; select _win1252 '22' from rdb\$database; select _utf8 '33' collate unicode from rdb\$database;" | /Library/Frameworks/Firebird.framework/Resources/bin/isql
    fi
