2 # Copyright Oliver Kowalke 2014.
3 # Distributed under the Boost Software License, Version 1.0.
4 # (See accompanying file LICENSE_1_0.txt or copy at
5 # http://www.boost.org/LICENSE_1_0.txt)
15 import ../../config/checks/config : requires ;
17 project boost/coroutine2/test
19 <library>../../test/build//boost_unit_test_framework
20 <library>/boost/context//boost_context
21 <toolset>gcc,<segmented-stacks>on:<cxxflags>-fsplit-stack
22 <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>darwin in $(properties) || <target-os>android in $(properties) )
38 else if ( ! ( <target-os>windows in $(properties) ) )
40 result = <context-impl>ucontext ;
44 result = <context-impl>winfib ;
50 [ run test_coroutine.cpp :
52 <context-impl>fcontext
53 [ requires cxx11_auto_declarations
55 cxx11_defaulted_functions
61 cxx11_rvalue_references
62 cxx11_template_aliases
63 cxx11_variadic_templates ]
64 : test_coroutine_asm ]
66 [ run test_coroutine.cpp :
68 <conditional>@native-impl
69 [ requires cxx11_auto_declarations
71 cxx11_defaulted_functions
77 cxx11_rvalue_references
78 cxx11_template_aliases
79 cxx11_variadic_templates ]
80 : test_coroutine_native ] ;