]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/fiber/build/Jamfile.v2
import new upstream nautilus stable release 14.2.8
[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
7c673cae
FG
23 <toolset>gcc,<segmented-stacks>on:<cxxflags>-fsplit-stack
24 <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
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
60 future.cpp
61 mutex.cpp
62 properties.cpp
63 recursive_mutex.cpp
64 recursive_timed_mutex.cpp
65 timed_mutex.cpp
66 scheduler.cpp
67 : <link>shared:<library>../../context/build//boost_context
68 [ requires cxx11_auto_declarations
69 cxx11_constexpr
70 cxx11_defaulted_functions
71 cxx11_final
72 cxx11_hdr_mutex
73 cxx11_hdr_tuple
74 cxx11_lambdas
75 cxx11_noexcept
76 cxx11_nullptr
77 cxx11_rvalue_references
78 cxx11_template_aliases
79 cxx11_thread_local
80 cxx11_variadic_templates ]
81 ;
82
83
b32b8144
FG
84alias numa_sources
85 : numa/aix/pin_thread.cpp
86 numa/aix/topology.cpp
87 : <target-os>aix
88 ;
89
90alias numa_sources
91 : numa/freebsd/pin_thread.cpp
92 numa/freebsd/topology.cpp
93 : <target-os>freebsd
94 ;
95
96alias numa_sources
97 : numa/hpux/pin_thread.cpp
98 numa/hpux/topology.cpp
99 : <target-os>hpux
100 ;
101
102alias numa_sources
103 : numa/linux/pin_thread.cpp
104 numa/linux/topology.cpp
105 : <target-os>linux
106 ;
107
108alias numa_sources
109 : numa/solaris/pin_thread.cpp
110 numa/solaris/topology.cpp
111 : <target-os>solaris
112 ;
113
114alias numa_sources
115 : numa/windows/pin_thread.cpp
116 numa/windows/topology.cpp
117 : <target-os>windows
118 ;
119
120alias numa_sources
121 : numa/pin_thread.cpp
122 numa/topology.cpp
123 ;
124
125explicit numa_sources ;
126
92f5a8d4 127lib boost_fiber_numa
b32b8144 128 : numa_sources
92f5a8d4
TL
129 numa/algo/work_stealing.cpp
130 :
131 <conditional>@numa
7c673cae
FG
132 [ requires cxx11_auto_declarations
133 cxx11_constexpr
134 cxx11_defaulted_functions
135 cxx11_final
b32b8144 136 cxx11_hdr_mutex
7c673cae
FG
137 cxx11_hdr_tuple
138 cxx11_lambdas
139 cxx11_noexcept
140 cxx11_nullptr
141 cxx11_rvalue_references
142 cxx11_template_aliases
143 cxx11_thread_local
144 cxx11_variadic_templates ]
145 ;
146
92f5a8d4
TL
147
148boost-install boost_fiber boost_fiber_numa ;