Permalink
Browse files

Merge pull request #1742 from scfc/rephrase-boost-build-matrix

Rephrase Boost build matrix
  • Loading branch information...
jwiegley committed Jan 25, 2019
2 parents d167ef3 + 0645976 commit 14dc0b912bb9e51f28fa10e03fba962dec22c870
Showing with 29 additions and 96 deletions.
  1. +29 −58 .travis.yml
  2. +0 −16 tools/travis-before_install.sh
  3. +0 −22 tools/travis-install.sh
@@ -5,51 +5,22 @@
language: cpp
compiler:
- gcc
- clang
os:
- linux
- osx
sudo: false
cache:
apt: true

env:
global:
# Boost version to use:
# _MIN is used when building the master branch
# _MAX is used when building any other branch
- BOOST_VERSION_MIN="1.49.0"
- BOOST_VERSION_MAX="1.61.0"
# List of required boost libraries to build
- BOOST_LIBS="date_time,filesystem,iostreams,python,regex,system,test"
# List of required Homebrew formulae to install
- BREWS="gmp,mpfr"
# Encrypted COVERITY_SCAN_TOKEN
- secure: "mYNxD1B8WNSvUeKzInehZ7syi2g1jH2ymeSQxoeKKD2duq3pvNWPdZdc4o9MlWQcAqcz58rhFZRIpuEWCnP0LbbJaG+MyuemMn9uAmg9Y4gFpMsBPHuTdf8pO3rDex+tkrr9puEJFgL+QV/TehxO6NDDpx7UdYvJb+4aZD/auYI="

matrix:
exclude:
- os: linux
compiler: clang
# Compiling ledger on Linux with clang
# either crashes clang or results in a ledger binary that crashes with SIGSEGV.
- os: osx
compiler: gcc
# On macOS building ledger with GNU GCC 4.8 fails due to
# undefined symbols, maybe because boost was not being built with g++-4.8.
# Undefined symbols for architecture x86_64:
# "boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)", referenced from:
# boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::perl_matcher(char const*, char const*, boost::match_results<char const*, std::allocator<boost::sub_match<char const*> > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, char const*) in main.cc.o
# boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::perl_matcher(char const*, char const*, boost::match_results<char const*, std::allocator<boost::sub_match<char const*> > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, char const*) in global.cc.o
# "boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::find()", referenced from:
# bool boost::regex_search<char const*, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(char const*, char const*, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags) in main.cc.o
# bool boost::regex_search<char const*, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(char const*, char const*, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags) in global.cc.o
- os: osx
compiler: clang
# On macOS building ledger with clang fails due to
# dyld: Library not loaded: libboost_python.dylib
# Referenced from: /Users/travis/build/ledger/ledger/ledger
# Reason: image not found
matrix:
# Boost version to build against; an empty string means the
# distribution's default.
- BOOST_VERSION="1.61.0"

addons:
coverity_scan:
@@ -60,33 +31,39 @@ addons:
build_command: "make"
branch_pattern: coverity
apt:
sources:
#- boost-latest
packages:
- libgmp-dev
- libmpfr-dev
- libedit-dev
#- libboost1.55-dev
#- libboost-test1.55-dev
#- libboost-regex1.55-dev
#- libboost-python1.55-dev
#- libboost-system1.55-dev
#- libboost-date-time1.55-dev
#- libboost-iostreams1.55-dev
#- libboost-filesystem1.55-dev
#- libboost-serialization1.55-dev
- libboost-dev
- libboost-test-dev
- libboost-regex-dev
- libboost-python-dev
- libboost-system-dev
- libboost-date-time-dev
- libboost-iostreams-dev
- libboost-filesystem-dev
- libboost-serialization-dev

before_install:
# - if [ "${TRAVIS_BRANCH}" = "master" ]; then export BOOST_VERSION="${BOOST_VERSION_MIN}"; else export BOOST_VERSION="${BOOST_VERSION_MAX}"; fi
- export BOOST_VERSION="${BOOST_VERSION_MAX}"
- if [ -n "${BOOST_VERSION}" ]; then export BOOST_ROOT="${TRAVIS_BUILD_DIR}/../boost-trunk"; export CMAKE_MODULE_PATH="${BOOST_ROOT}"; fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export DYLD_LIBRARY_PATH="${BOOST_ROOT}/lib"; fi
# c++ is a symlink to clang++, but the compiler behaves differently when invoked as c++
- if [ "${TRAVIS_OS_NAME}" = "osx" -a "${CXX}" = "clang++" ]; then export CXX="$(which c++)"; export CC="$(which cc)"; fi
- tools/travis-before_install.sh
- |
if [ -n "${BOOST_VERSION}" ]; then
BOOST_SOURCE="$(mktemp -d)"
BOOST_SOURCE_URL="https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION//./_}.tar.bz2/download"
curl -Ls "$BOOST_SOURCE_URL" |
tar jx -C "${BOOST_SOURCE}" --strip-components 1
fi
install:
- tools/travis-install.sh
- |
if [ -n "${BOOST_VERSION}" ]; then
export BOOST_ROOT="${HOME}/boost"
pushd "${BOOST_SOURCE}"
./bootstrap.sh --with-libraries="${BOOST_LIBS}"
./b2 threading=multi -d0 --prefix="${BOOST_ROOT}" install
popd
rm -Rf "${BOOST_SOURCE}"
fi
before_script:
- cmake . -DUSE_PYTHON=ON -DBUILD_DEBUG=ON
@@ -96,12 +73,6 @@ script:
- ctest --output-on-failure
- PYTHONPATH=. python python/demo.py

after_script:
# These scripts are run for informational purposes and
# should be reintegrated into CTest once they reliably verify the documentation.
- python test/CheckTexinfo.py -l ledger -s .
- python test/CheckManpage.py -l ledger -s .

notifications:
email:
on_success: change

This file was deleted.

Oops, something went wrong.

This file was deleted.

Oops, something went wrong.

0 comments on commit 14dc0b9

Please sign in to comment.