1 # Boost.Context Library Tests Jamfile
3 # Copyright Oliver Kowalke 2009.
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)
15 import ../../config/checks/config : requires ;
17 project boost/context/test
19 <library>../../test/build//boost_unit_test_framework
20 <library>/boost/context//boost_context
21 <target-os>linux,<toolset>gcc,<segmented-stacks>on:<cxxflags>-fsplit-stack
22 <target-os>linux,<toolset>gcc,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS
23 <toolset>clang,<segmented-stacks>on:<cxxflags>-fsplit-stack
24 <toolset>clang,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS
31 rule native-impl ( properties * )
34 if ( <target-os>android in $(properties) ||
35 <target-os>darwin in $(properties) ||
36 <target-os>openbsd in $(properties) )
40 else if ( ! ( <target-os>windows in $(properties) ) )
42 result = <context-impl>ucontext ;
46 result = <context-impl>winfib ;
51 rule segmented-stack ( properties * )
54 if ( <toolset>gcc in $(properties) )
56 result = <segmented-stacks>on ;
66 [ run test_invoke.cpp :
68 [ requires cxx11_auto_declarations
70 cxx11_defaulted_functions
77 cxx11_rvalue_references
78 cxx11_template_aliases
80 cxx11_variadic_templates ] ]
82 [ run test_apply.cpp :
84 [ requires cxx11_auto_declarations
86 cxx11_defaulted_functions
93 cxx11_rvalue_references
94 cxx11_template_aliases
96 cxx11_variadic_templates ] ]
98 [ run test_fiber.cpp :
100 <context-impl>fcontext
101 [ requires cxx11_auto_declarations
103 cxx11_defaulted_functions
110 cxx11_rvalue_references
111 cxx11_template_aliases
113 cxx11_variadic_templates ]
116 [ run test_fiber.cpp :
118 <conditional>@native-impl
119 [ requires cxx11_auto_declarations
121 cxx11_defaulted_functions
128 cxx11_rvalue_references
129 cxx11_template_aliases
131 cxx11_variadic_templates ]
132 : test_fiber_native ]
134 [ run test_fiber.cpp :
136 <context-impl>ucontext
137 <conditional>@segmented-stack
138 [ requires cxx11_auto_declarations
140 cxx11_defaulted_functions
147 cxx11_rvalue_references
148 cxx11_template_aliases
150 cxx11_variadic_templates ]
151 : test_fiber_segmented ]
153 [ run test_callcc.cpp :
155 <context-impl>fcontext
156 [ requires cxx11_auto_declarations
158 cxx11_defaulted_functions
165 cxx11_rvalue_references
166 cxx11_template_aliases
168 cxx11_variadic_templates ]
171 [ run test_callcc.cpp :
173 <conditional>@native-impl
174 [ requires cxx11_auto_declarations
176 cxx11_defaulted_functions
183 cxx11_rvalue_references
184 cxx11_template_aliases
186 cxx11_variadic_templates ]
187 : test_callcc_native ]
189 [ run test_callcc.cpp :
191 <context-impl>ucontext
192 <conditional>@segmented-stack
193 [ requires cxx11_auto_declarations
195 cxx11_defaulted_functions
202 cxx11_rvalue_references
203 cxx11_template_aliases
205 cxx11_variadic_templates ]
206 : test_callcc_segmented ] ;
213 [ run test_fcontext.cpp :