]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/fiber/build/Jamfile.v2
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / libs / fiber / build / Jamfile.v2
CommitLineData
7c673cae
FG
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
8import feature ;
9import modules ;
10import testing ;
11import toolset ;
12import ../../config/checks/config : requires ;
13
92f5a8d4
TL
14feature.feature numa : on : optional propagated composite ;
15feature.compose <numa>on : <define>BOOST_USE_NUMA ;
16
7c673cae
FG
17project boost/fiber
18 : requirements
19 <library>/boost/context//boost_context
b32b8144
FG
20 <library>/boost/filesystem//boost_filesystem
21 <target-os>solaris:<linkflags>"-llgrp"
22 <target-os>windows:<define>_WIN32_WINNT=0x0601
20effc67
TL
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
7c673cae
FG
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
92f5a8d4
TL
37rule 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
51lib 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
20effc67 60 waker.cpp
92f5a8d4
TL
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
b32b8144
FG
85alias numa_sources
86 : numa/aix/pin_thread.cpp
87 numa/aix/topology.cpp
88 : <target-os>aix
89 ;
90
91alias numa_sources
92 : numa/freebsd/pin_thread.cpp
93 numa/freebsd/topology.cpp
94 : <target-os>freebsd
95 ;
96
97alias numa_sources
98 : numa/hpux/pin_thread.cpp
99 numa/hpux/topology.cpp
100 : <target-os>hpux
101 ;
102
103alias numa_sources
104 : numa/linux/pin_thread.cpp
105 numa/linux/topology.cpp
106 : <target-os>linux
107 ;
108
109alias numa_sources
110 : numa/solaris/pin_thread.cpp
111 numa/solaris/topology.cpp
112 : <target-os>solaris
113 ;
114
115alias numa_sources
116 : numa/windows/pin_thread.cpp
117 numa/windows/topology.cpp
118 : <target-os>windows
119 ;
120
121alias numa_sources
122 : numa/pin_thread.cpp
123 numa/topology.cpp
124 ;
125
126explicit numa_sources ;
127
92f5a8d4 128lib boost_fiber_numa
b32b8144 129 : numa_sources
92f5a8d4
TL
130 numa/algo/work_stealing.cpp
131 :
132 <conditional>@numa
7c673cae
FG
133 [ requires cxx11_auto_declarations
134 cxx11_constexpr
135 cxx11_defaulted_functions
136 cxx11_final
b32b8144 137 cxx11_hdr_mutex
7c673cae
FG
138 cxx11_hdr_tuple
139 cxx11_lambdas
140 cxx11_noexcept
141 cxx11_nullptr
142 cxx11_rvalue_references
143 cxx11_template_aliases
144 cxx11_thread_local
145 cxx11_variadic_templates ]
146 ;
147
92f5a8d4
TL
148
149boost-install boost_fiber boost_fiber_numa ;