Jamfile.v2 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. # Boost.Context Library Tests Jamfile
  2. # Copyright Oliver Kowalke 2009.
  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)
  6. import common ;
  7. import feature ;
  8. import indirect ;
  9. import modules ;
  10. import os ;
  11. import testing ;
  12. import toolset ;
  13. import ../../config/checks/config : requires ;
  14. project boost/context/test
  15. : requirements
  16. <library>../../test/build//boost_unit_test_framework
  17. <library>/boost/context//boost_context
  18. <toolset>gcc,<segmented-stacks>on:<cxxflags>-fsplit-stack
  19. <toolset>gcc,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS
  20. <toolset>clang,<segmented-stacks>on:<cxxflags>-fsplit-stack
  21. <toolset>clang,<segmented-stacks>on:<cxxflags>-DBOOST_USE_SEGMENTED_STACKS
  22. <link>static
  23. <threading>multi
  24. <variant>release
  25. ;
  26. rule native-impl ( properties * )
  27. {
  28. local result ;
  29. if ( <target-os>android in $(properties) ||
  30. <target-os>darwin in $(properties) ||
  31. <target-os>openbsd in $(properties) )
  32. {
  33. result = <build>no ;
  34. }
  35. else if ( ! ( <target-os>windows in $(properties) ) )
  36. {
  37. result = <context-impl>ucontext ;
  38. }
  39. else
  40. {
  41. result = <context-impl>winfib ;
  42. }
  43. return $(result) ;
  44. }
  45. rule segmented-stack ( properties * )
  46. {
  47. local result ;
  48. if ( <toolset>gcc in $(properties) )
  49. {
  50. result = <segmented-stacks>on ;
  51. }
  52. else
  53. {
  54. result = <build>no ;
  55. }
  56. return $(result) ;
  57. }
  58. test-suite minimal :
  59. [ run test_invoke.cpp :
  60. : :
  61. [ requires cxx11_auto_declarations
  62. cxx11_constexpr
  63. cxx11_defaulted_functions
  64. cxx11_final
  65. cxx11_hdr_thread
  66. cxx11_hdr_tuple
  67. cxx11_lambdas
  68. cxx11_noexcept
  69. cxx11_nullptr
  70. cxx11_rvalue_references
  71. cxx11_template_aliases
  72. cxx11_thread_local
  73. cxx11_variadic_templates ] ]
  74. [ run test_apply.cpp :
  75. : :
  76. [ requires cxx11_auto_declarations
  77. cxx11_constexpr
  78. cxx11_defaulted_functions
  79. cxx11_final
  80. cxx11_hdr_thread
  81. cxx11_hdr_tuple
  82. cxx11_lambdas
  83. cxx11_noexcept
  84. cxx11_nullptr
  85. cxx11_rvalue_references
  86. cxx11_template_aliases
  87. cxx11_thread_local
  88. cxx11_variadic_templates ] ]
  89. [ run test_fiber.cpp :
  90. : :
  91. <context-impl>fcontext
  92. [ requires cxx11_auto_declarations
  93. cxx11_constexpr
  94. cxx11_defaulted_functions
  95. cxx11_final
  96. cxx11_hdr_thread
  97. cxx11_hdr_tuple
  98. cxx11_lambdas
  99. cxx11_noexcept
  100. cxx11_nullptr
  101. cxx11_rvalue_references
  102. cxx11_template_aliases
  103. cxx11_thread_local
  104. cxx11_variadic_templates ]
  105. : test_fiber_asm ]
  106. [ run test_fiber.cpp :
  107. : :
  108. <conditional>@native-impl
  109. [ requires cxx11_auto_declarations
  110. cxx11_constexpr
  111. cxx11_defaulted_functions
  112. cxx11_final
  113. cxx11_hdr_thread
  114. cxx11_hdr_tuple
  115. cxx11_lambdas
  116. cxx11_noexcept
  117. cxx11_nullptr
  118. cxx11_rvalue_references
  119. cxx11_template_aliases
  120. cxx11_thread_local
  121. cxx11_variadic_templates ]
  122. : test_fiber_native ]
  123. [ run test_fiber.cpp :
  124. : :
  125. <context-impl>ucontext
  126. <conditional>@segmented-stack
  127. [ requires cxx11_auto_declarations
  128. cxx11_constexpr
  129. cxx11_defaulted_functions
  130. cxx11_final
  131. cxx11_hdr_thread
  132. cxx11_hdr_tuple
  133. cxx11_lambdas
  134. cxx11_noexcept
  135. cxx11_nullptr
  136. cxx11_rvalue_references
  137. cxx11_template_aliases
  138. cxx11_thread_local
  139. cxx11_variadic_templates ]
  140. : test_fiber_segmented ]
  141. [ run test_callcc.cpp :
  142. : :
  143. <context-impl>fcontext
  144. [ requires cxx11_auto_declarations
  145. cxx11_constexpr
  146. cxx11_defaulted_functions
  147. cxx11_final
  148. cxx11_hdr_thread
  149. cxx11_hdr_tuple
  150. cxx11_lambdas
  151. cxx11_noexcept
  152. cxx11_nullptr
  153. cxx11_rvalue_references
  154. cxx11_template_aliases
  155. cxx11_thread_local
  156. cxx11_variadic_templates ]
  157. : test_callcc_asm ]
  158. [ run test_callcc.cpp :
  159. : :
  160. <conditional>@native-impl
  161. [ requires cxx11_auto_declarations
  162. cxx11_constexpr
  163. cxx11_defaulted_functions
  164. cxx11_final
  165. cxx11_hdr_thread
  166. cxx11_hdr_tuple
  167. cxx11_lambdas
  168. cxx11_noexcept
  169. cxx11_nullptr
  170. cxx11_rvalue_references
  171. cxx11_template_aliases
  172. cxx11_thread_local
  173. cxx11_variadic_templates ]
  174. : test_callcc_native ]
  175. [ run test_callcc.cpp :
  176. : :
  177. <context-impl>ucontext
  178. <conditional>@segmented-stack
  179. [ requires cxx11_auto_declarations
  180. cxx11_constexpr
  181. cxx11_defaulted_functions
  182. cxx11_final
  183. cxx11_hdr_thread
  184. cxx11_hdr_tuple
  185. cxx11_lambdas
  186. cxx11_noexcept
  187. cxx11_nullptr
  188. cxx11_rvalue_references
  189. cxx11_template_aliases
  190. cxx11_thread_local
  191. cxx11_variadic_templates ]
  192. : test_callcc_segmented ] ;
  193. test-suite full :
  194. minimal ;
  195. test-suite fc :
  196. [ run test_fcontext.cpp :
  197. : :
  198. ] ;
  199. explicit minimal ;
  200. explicit fc ;