File: build.jam

package info (click to toggle)
boost1.90 1.90.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 593,156 kB
  • sloc: cpp: 4,190,642; xml: 196,648; python: 34,618; ansic: 23,145; asm: 5,468; sh: 3,776; makefile: 1,161; perl: 1,020; sql: 728; ruby: 676; yacc: 478; java: 77; lisp: 24; csh: 6
file content (49 lines) | stat: -rw-r--r-- 1,826 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Copyright René Ferdinand Rivera Morell 2024
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)

require-b2 5.2 ;

# Special builds for Boost Histogram:
#
#   Generate coverage data:            b2 cxxstd=latest coverage=on test//all
#   Test without exceptions and rtti:  b2 cxxstd=latest exception-handling=off rtti=off test//minimal
#   Test with sanitizers:              b2 toolset=clang cxxstd=latest histogram_ubasan test

# boost/serialization and boost/math must not be included here, they are optional dependencies
constant boost_dependencies :
    /boost/config//boost_config
    /boost/core//boost_core
    /boost/mp11//boost_mp11
    /boost/throw_exception//boost_throw_exception
    /boost/variant2//boost_variant2 ;

project /boost/histogram
    : requirements
        <toolset>clang:<cxxflags>"-Wsign-compare -Wstrict-aliasing -fstrict-aliasing -Wvexing-parse -Wfloat-conversion"
        <toolset>gcc:<cxxflags>"-Wsign-compare -Wstrict-aliasing -fstrict-aliasing -Wfloat-conversion"
        <toolset>msvc:<cxxflags>"/bigobj"
        <toolset>intel-win:<cxxflags>"/bigobj"
        <local-visibility>hidden
    : default-build
        <warnings>extra
    ;

explicit
    [ alias boost_histogram : : :
        : <include>include <library>$(boost_dependencies) ]
    [ alias all : boost_histogram test examples ]
    ;

call-if : boost-library histogram
    ;

path-constant THIS_PATH : . ;

# only works with clang because of -fsanitize-blacklist
variant histogram_ubasan : debug :
    <cxxflags>"-fno-omit-frame-pointer -O0 -fno-inline -fsanitize=address,leak,undefined -fno-sanitize-recover=all -fsanitize-blacklist=$(THIS_PATH)/tools/blacklist.supp"
    <linkflags>"-fsanitize=address,leak,undefined"
    ;