# Copyright Oliver Kowalke 2014. # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) import common ; import feature ; import indirect ; import modules ; import os ; import path ; import testing ; import toolset ; import ../../config/checks/config : requires ; project boost/coroutine2/test : requirements ../../test/build//boost_unit_test_framework /boost/context//boost_context linux,gcc,on:-fsplit-stack linux,gcc,on:-DBOOST_USE_SEGMENTED_STACKS clang,on:-fsplit-stack clang,on:-DBOOST_USE_SEGMENTED_STACKS static multi speed release ; rule native-impl ( properties * ) { local result ; if ( darwin in $(properties) || android in $(properties) ) { result = no ; } else if ( ! ( windows in $(properties) ) ) { result = ucontext ; } else { result = winfib ; } return $(result) ; } test-suite minimal : [ run test_coroutine.cpp : : : fcontext [ requires cxx11_auto_declarations cxx11_constexpr cxx11_defaulted_functions cxx11_final cxx11_hdr_tuple cxx11_lambdas cxx11_noexcept cxx11_nullptr cxx11_rvalue_references cxx11_template_aliases cxx11_variadic_templates ] : test_coroutine_asm ] [ run test_coroutine.cpp : : : @native-impl [ requires cxx11_auto_declarations cxx11_constexpr cxx11_defaulted_functions cxx11_final cxx11_hdr_tuple cxx11_lambdas cxx11_noexcept cxx11_nullptr cxx11_rvalue_references cxx11_template_aliases cxx11_variadic_templates ] : test_coroutine_native ] ; test-suite full : minimal ; test-suite extra ; explicit minimal ; explicit extra ;