• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright Mateusz Loskot 2018 <mateusz@loskot.net>
2# Copyright Klemens David Morgenstern, Hans P. Dembinski 2016-2017
3#
4# Use, modification and distribution is subject to the Boost Software License,
5# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
6# http://www.boost.org/LICENSE_1_0.txt)
7
8# Special builds for Boost Histogram:
9#
10#   Generate coverage data:            b2 cxxstd=latest coverage=on test//all
11#   Test without exceptions and rtti:  b2 cxxstd=latest exception-handling=off rtti=off test//minimal
12#   Test with sanitizers:              b2 toolset=clang cxxstd=latest histogram_ubasan test
13
14import common ;
15
16project
17    : requirements
18    <implicit-dependency>/boost//headers
19    <include>$(BOOST_ROOT)
20    <toolset>clang:<cxxflags>"-pedantic -Wextra -Wsign-compare -Wstrict-aliasing -fstrict-aliasing"
21    <toolset>gcc:<cxxflags>"-pedantic -Wextra -Wsign-compare -Wstrict-aliasing -fstrict-aliasing"
22    <toolset>msvc:<cxxflags>"/bigobj"
23    <toolset>intel-win:<cxxflags>"/bigobj"
24    : default-build
25    <warnings>all
26    ;
27
28path-constant THIS_PATH : . ;
29
30# only works with clang because of -fsanitize-blacklist
31variant histogram_ubasan : debug :
32    <cxxflags>"-fno-omit-frame-pointer -O0 -fno-inline -fsanitize=address,leak,undefined -fno-sanitize-recover=all -fsanitize-blacklist=$(THIS_PATH)/tools/blacklist.supp"
33    <linkflags>"-fsanitize=address,leak,undefined"
34    ;
35
36build-project test ;
37build-project examples ;
38