Jamfile 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. #==============================================================================
  2. # Copyright (c) 2002 Joel de Guzman
  3. # Copyright (c) 2003-2004 Martin Wille
  4. # Copyright (c) 2019 Nikita Kniazev
  5. # http://spirit.sourceforge.net/
  6. #
  7. # Use, modification and distribution is subject to the Boost Software
  8. # License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  9. # http://www.boost.org/LICENSE_1_0.txt)
  10. #==============================================================================
  11. #
  12. # Spirit regression test boost-jam file
  13. # Joel de Guzman [Sept 27, 2002]
  14. #
  15. project spirit-classic
  16. : requirements
  17. <include>.
  18. ;
  19. ###############################################################################
  20. cpp-pch pch : pch.hpp : : : <include>. <toolset>msvc:<cxxflags>"/FIpch.hpp" ;
  21. cpp-pch pch-dbg : pch.hpp : <define>BOOST_SPIRIT_DEBUG :
  22. : <include>. <toolset>msvc:<cxxflags>"/FIpch.hpp" ;
  23. explicit pch pch-dbg ;
  24. ###############################################################################
  25. rule spirit-run ( sources + : args * : input-files * : requirements * : name ? : default-build * )
  26. {
  27. name ?= $(sources[1]:D=:S=) ;
  28. return
  29. [ run $(sources) : $(args) : $(input-files) : $(requirements)
  30. <pch>on-spirit:<source>pch : $(name)
  31. : $(default-build) ]
  32. [ run $(sources) : $(args) : $(input-files) : $(requirements)
  33. <pch>on-spirit:<source>pch-dbg <define>BOOST_SPIRIT_DEBUG : $(name)_debug
  34. : $(default-build) ]
  35. ;
  36. }
  37. ############################################################
  38. local opt = <toolset>vc-7.0:<optimization>speed
  39. <toolset>vc-7.0:<inlining>on
  40. <toolset>cw:<optimization>speed ;
  41. local opt-metrowerks = <toolset>cw:<optimization>speed ;
  42. # VP, 2005/04/14: MT is not available with Como, but this is
  43. # not handled yet.
  44. local multi-threading = <library>/boost/thread//boost_thread
  45. <threading>multi <define>BOOST_ALL_NO_LIB ;
  46. test-suite "spirit.classic.core.kernel"
  47. : [ spirit-run match_tests.cpp ]
  48. [ spirit-run post_skips.cpp ]
  49. ;
  50. test-suite "spirit.classic.core.scanner"
  51. : [ spirit-run scanner_tests.cpp ]
  52. [ spirit-run scanner_value_type_tests.cpp : : : <pch>off ]
  53. ;
  54. test-suite "spirit.classic.core.primitive"
  55. : [ spirit-run primitives_tests.cpp ]
  56. [ spirit-run char_strings_test.cpp ]
  57. [ compile-fail char_strings_test_fail.cpp ]
  58. [ spirit-run numerics_tests.cpp : : : $(opt) ]
  59. [ spirit-run custom_real_parser.cpp ]
  60. ;
  61. test-suite "spirit.classic.core.composite"
  62. : [ spirit-run epsilon_tests.cpp ]
  63. [ spirit-run negated_eps_p_test.cpp ]
  64. [ spirit-run operators_tests.cpp ]
  65. [ spirit-run directives_tests.cpp ]
  66. [ spirit-run shortest_alternative_tests.cpp ]
  67. ;
  68. test-suite "spirit.classic.core.non_terminal"
  69. : [ spirit-run rule_tests.cpp : : : <pch>off ]
  70. [ spirit-run owi_st_tests.cpp : : : <undef>BOOST_SPIRIT_THREADSAFE ]
  71. [ spirit-run grammar_tests.cpp : : : <pch>off $(opt-metrowerks) ]
  72. [ spirit-run grammar_multi_instance_tst.cpp : : : $(opt-metrowerks) ]
  73. [ spirit-run subrule_tests.cpp ]
  74. [ run owi_mt_tests.cpp : : : $(multi-threading) ]
  75. [ run grammar_mt_tests.cpp : : : $(multi-threading) ]
  76. [ spirit-run parser_context_test.cpp ]
  77. ;
  78. # traverse_tests defines SPIRIT_DEBUG, don't run the tests twice
  79. test-suite "spirit.classic.meta"
  80. : [ spirit-run fundamental_tests.cpp ]
  81. [ spirit-run parser_traits_tests.cpp ]
  82. [ spirit-run traverse_tests.cpp : : : <pch>off <toolset>intel:<debug-symbols>off ]
  83. ;
  84. test-suite "spirit.classic.attribute"
  85. : [ spirit-run closure_tests.cpp : : : $(opt-metrowerks) ]
  86. [ run bug_000008.cpp : : : $(multi-threading) ]
  87. [ spirit-run parametric_tests.cpp ]
  88. ;
  89. test-suite "spirit.classic.error_handling"
  90. : [ spirit-run exception_tests.cpp ]
  91. ;
  92. test-suite "spirit.classic.tree"
  93. : [ spirit-run ast_calc_tests.cpp ]
  94. [ spirit-run group_match_bug.cpp ]
  95. [ spirit-run repeat_ast_tests.cpp ]
  96. [ spirit-run tree_to_xml.cpp ]
  97. [ compile mix_and_match_trees.cpp ]
  98. ;
  99. # temporarily removed from the test suite. tree_tests are not finished, yet.
  100. # [ spirit-run tree_tests.cpp ]
  101. test-suite "spirit.classic.dynamic"
  102. : [ compile if_p_as_parser_tests.cpp ]
  103. [ compile while_p_as_parser_tests.cpp ]
  104. [ compile for_p_as_parser_tests.cpp ]
  105. [ spirit-run if_tests.cpp ]
  106. [ spirit-run if_p_int_as_condition_test.cpp ]
  107. [ spirit-run for_tests.cpp ]
  108. [ spirit-run while_tests.cpp ]
  109. [ spirit-run lazy_tests.cpp ]
  110. [ spirit-run switch_tests_eps_default.cpp : : : <pch>off ]
  111. [ spirit-run switch_tests_general_def.cpp : : : <pch>off ]
  112. [ spirit-run switch_tests_wo_default.cpp : : : <pch>off ]
  113. [ spirit-run switch_tests_single.cpp : : : <pch>off ]
  114. [ spirit-run switch_problem.cpp ]
  115. [ spirit-run select_p_with_rule.cpp : : : <pch>off ]
  116. ;
  117. test-suite "spirit.classic.utility.parsers"
  118. : [ spirit-run chset_tests.cpp ]
  119. [ spirit-run confix_tests.cpp ]
  120. [ spirit-run loops_tests.cpp ]
  121. [ spirit-run symbols_tests.cpp ]
  122. [ spirit-run symbols_add_null.cpp : : : <pch>off ]
  123. [ spirit-run symbols_find_null.cpp ]
  124. [ spirit-run escape_char_parser_tests.cpp : : : $(opt) ]
  125. [ spirit-run distinct_tests.cpp ]
  126. [ spirit-run grammar_def_test.cpp ]
  127. ;
  128. test-suite "spirit.classic.utility.support"
  129. # This test doesn't actually use multiple threads
  130. : [ spirit-run scoped_lock_tests.cpp : : : $(multi-threading) ]
  131. [ compile threads_disabled_compile.cpp ]
  132. ;
  133. test-suite "spirit.classic.iterator"
  134. : [ spirit-run fixed_size_queue_tests.cpp ]
  135. [ compile-fail fixed_size_queue_fail_tests.cpp ]
  136. [ run file_iterator_tests.cpp : : : <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS ]
  137. [ spirit-run multi_pass_tests.cpp : : : $(opt-metrowerks) ]
  138. [ spirit-run sf_bug_720917.cpp : : : <pch>off $(opt-metrowerks) ]
  139. [ spirit-run position_iterator_tests.cpp : : : $(opt-metrowerks) ]
  140. [ compile multi_pass_compile_tests.cpp ]
  141. ;
  142. test-suite "spirit.classic.small_bug_fixes"
  143. : [ spirit-run bug_fixes.cpp ]
  144. ;
  145. actor_test_sources =
  146. action_tests
  147. assign_test
  148. assign_key_test
  149. clear_test
  150. decrement_test
  151. erase_at_test
  152. increment_test
  153. insert_key_test
  154. insert_at_test
  155. push_back_test
  156. push_front_test
  157. swap_test
  158. ;
  159. test-suite "spirit.classic.utility.actors"
  160. : [ spirit-run actor/$(actor_test_sources).cpp ]
  161. ;
  162. test-suite "spirit.classic.typeof-support"
  163. : [ compile typeof_support/typeof_actor.cpp ]
  164. [ compile typeof_support/typeof_attribute.cpp ]
  165. [ compile typeof_support/typeof_core.cpp ]
  166. [ compile typeof_support/typeof_debug.cpp ]
  167. [ compile typeof_support/typeof_dynamic.cpp ]
  168. [ compile typeof_support/typeof_error_handling.cpp ]
  169. [ compile typeof_support/typeof_iterator.cpp ]
  170. [ compile typeof_support/typeof_symbols.cpp ]
  171. [ compile typeof_support/typeof_tree.cpp ]
  172. [ compile typeof_support/typeof_utility.cpp ]
  173. ;