]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/fiber/build/Jamfile.v2
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / fiber / build / Jamfile.v2
1 # Boost.Fiber Library Build Jamfile
2
3 # Copyright Oliver Kowalke 2013.
4 # Distributed under the Boost Software License, Version 1.0.
5 # (See accompanying file LICENSE_1_0.txt or copy at
6 # http://www.boost.org/LICENSE_1_0.txt)
7
8 import feature ;
9 import modules ;
10 import testing ;
11 import toolset ;
12 import ../../config/checks/config : requires ;
13
14 feature.feature numa : on : optional propagated composite ;
15 feature.compose <numa>on : <define>BOOST_USE_NUMA ;
16
17 project boost/fiber
18 : requirements
19 <library>/boost/context//boost_context
20 <library>/boost/filesystem//boost_filesystem
21 <target-os>solaris:<linkflags>"-llgrp"
22 <target-os>windows:<define>_WIN32_WINNT=0x0601
23 <target-os>linux,<toolset>gcc,<segmented-stacks>on:<cxxflags>-fsplit-stack
24 <target-os>linux,<toolset>gcc,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS
25 <toolset>clang,<segmented-stacks>on:<cxxflags>-fsplit-stack
26 <toolset>clang,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS
27 <link>shared:<define>BOOST_FIBERS_DYN_LINK=1
28 <define>BOOST_FIBERS_SOURCE
29 <threading>multi
30 : usage-requirements
31 <link>shared:<define>BOOST_FIBERS_DYN_LINK=1
32 <optimization>speed:<define>BOOST_DISABLE_ASSERTS
33 <variant>release:<define>BOOST_DISABLE_ASSERTS
34 : source-location ../src
35 ;
36
37 rule numa ( properties * )
38 {
39 local result ;
40 if ( <numa>on in $(properties) )
41 {
42 result = <numa>on ;
43 }
44 else
45 {
46 result = <build>no ;
47 }
48 return $(result) ;
49 }
50
51 lib boost_fiber
52 : algo/algorithm.cpp
53 algo/round_robin.cpp
54 algo/shared_work.cpp
55 algo/work_stealing.cpp
56 barrier.cpp
57 condition_variable.cpp
58 context.cpp
59 fiber.cpp
60 waker.cpp
61 future.cpp
62 mutex.cpp
63 properties.cpp
64 recursive_mutex.cpp
65 recursive_timed_mutex.cpp
66 timed_mutex.cpp
67 scheduler.cpp
68 : <link>shared:<library>../../context/build//boost_context
69 [ requires cxx11_auto_declarations
70 cxx11_constexpr
71 cxx11_defaulted_functions
72 cxx11_final
73 cxx11_hdr_mutex
74 cxx11_hdr_tuple
75 cxx11_lambdas
76 cxx11_noexcept
77 cxx11_nullptr
78 cxx11_rvalue_references
79 cxx11_template_aliases
80 cxx11_thread_local
81 cxx11_variadic_templates ]
82 ;
83
84
85 alias numa_sources
86 : numa/aix/pin_thread.cpp
87 numa/aix/topology.cpp
88 : <target-os>aix
89 ;
90
91 alias numa_sources
92 : numa/freebsd/pin_thread.cpp
93 numa/freebsd/topology.cpp
94 : <target-os>freebsd
95 ;
96
97 alias numa_sources
98 : numa/hpux/pin_thread.cpp
99 numa/hpux/topology.cpp
100 : <target-os>hpux
101 ;
102
103 alias numa_sources
104 : numa/linux/pin_thread.cpp
105 numa/linux/topology.cpp
106 : <target-os>linux
107 ;
108
109 alias numa_sources
110 : numa/solaris/pin_thread.cpp
111 numa/solaris/topology.cpp
112 : <target-os>solaris
113 ;
114
115 alias numa_sources
116 : numa/windows/pin_thread.cpp
117 numa/windows/topology.cpp
118 : <target-os>windows
119 ;
120
121 alias numa_sources
122 : numa/pin_thread.cpp
123 numa/topology.cpp
124 ;
125
126 explicit numa_sources ;
127
128 lib boost_fiber_numa
129 : numa_sources
130 numa/algo/work_stealing.cpp
131 :
132 <conditional>@numa
133 <library>boost_fiber
134 [ requires cxx11_auto_declarations
135 cxx11_constexpr
136 cxx11_defaulted_functions
137 cxx11_final
138 cxx11_hdr_mutex
139 cxx11_hdr_tuple
140 cxx11_lambdas
141 cxx11_noexcept
142 cxx11_nullptr
143 cxx11_rvalue_references
144 cxx11_template_aliases
145 cxx11_thread_local
146 cxx11_variadic_templates ]
147 ;
148
149
150 boost-install boost_fiber boost_fiber_numa ;