Jamfile 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #==============================================================================
  2. # Copyright (c) 2001-2013 Joel de Guzman
  3. # Copyright (c) 2001-2012 Hartmut Kaiser
  4. # Copyright (c) 2011 Bryce Lelbach
  5. #
  6. # Use, modification and distribution is subject to the Boost Software
  7. # License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  8. # http://www.boost.org/LICENSE_1_0.txt)
  9. #==============================================================================
  10. import config : requires ;
  11. import modules ;
  12. import feature ;
  13. import testing ;
  14. ###############################################################################
  15. project spirit-x3
  16. : requirements
  17. <include>.
  18. <c++-template-depth>512
  19. [ requires
  20. # Assume all the cxx11 checks succeed if any of cxx14 does.
  21. #cxx14_binary_literals # grep -Er "[0-9]+b[0-9]+" *
  22. #cxx14_constexpr
  23. cxx14_decltype_auto # grep -r "decltype(auto)" *
  24. #cxx14_digit_separators # grep -Er "[0-9]+'[0-9]+" *
  25. cxx14_generic_lambdas # grep -Er "]\s*\\([^\\)]*auto" *
  26. #cxx14_hdr_shared_mutex # grep -r "shared_mutex" *
  27. #cxx14_initialized_lambda_captures # grep -Er "\\[[^=\\]]+=" *
  28. #cxx14_aggregate_nsdmi
  29. cxx14_return_type_deduction # grep -Er "auto[^\\(=\\)]+\(" *
  30. #cxx14_std_exchange # grep -r "exchange" *
  31. cxx14_variable_templates
  32. ]
  33. ;
  34. ###############################################################################
  35. local subproject-name = x3 ;
  36. rule run ( sources + : args * : input-files *
  37. : requirements * : target-name ? : default-build * )
  38. {
  39. target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
  40. return [ testing.run $(sources) : $(args) : $(input-files)
  41. : $(requirements) : $(target-name) : $(default-build) ] ;
  42. }
  43. rule compile ( sources + : requirements * : target-name ? )
  44. {
  45. target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
  46. return [ testing.compile $(sources)
  47. : $(requirements) : $(target-name) ] ;
  48. }
  49. rule compile-fail ( sources + : requirements * : target-name ? )
  50. {
  51. target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
  52. return [ testing.compile-fail $(sources)
  53. : $(requirements) : $(target-name) ] ;
  54. }
  55. ###############################################################################
  56. run actions.cpp ;
  57. run alternative.cpp ;
  58. run and_predicate.cpp ;
  59. run any_parser.cpp ;
  60. run attr.cpp ;
  61. run binary.cpp ;
  62. run bool.cpp ;
  63. run char1.cpp ;
  64. run char_class.cpp ;
  65. run container_support.cpp ;
  66. run debug.cpp ;
  67. run difference.cpp ;
  68. run eoi.cpp ;
  69. run eol.cpp ;
  70. run eps.cpp ;
  71. run expect.cpp ;
  72. run extract_int.cpp ;
  73. run int1.cpp ;
  74. run kleene.cpp ;
  75. run lexeme.cpp ;
  76. run lit1.cpp ;
  77. run lit2.cpp ;
  78. run list.cpp ;
  79. run matches.cpp ;
  80. run no_case.cpp ;
  81. run no_skip.cpp ;
  82. run not_predicate.cpp ;
  83. run omit.cpp ;
  84. run optional.cpp ;
  85. run plus.cpp ;
  86. run with.cpp ;
  87. run raw.cpp ;
  88. run real1.cpp ;
  89. run real2.cpp ;
  90. run real3.cpp ;
  91. run real4.cpp ;
  92. run rule1.cpp ;
  93. run rule2.cpp ;
  94. run rule3.cpp ;
  95. run rule4.cpp ;
  96. run sequence.cpp ;
  97. run skip.cpp ;
  98. run symbols1.cpp ;
  99. run symbols2.cpp ;
  100. run symbols3.cpp ;
  101. run tst.cpp ;
  102. run uint1.cpp ;
  103. run uint_radix.cpp ;
  104. run confix.cpp ;
  105. run repeat.cpp ;
  106. run seek.cpp ;
  107. run unused_type.cpp ;
  108. run attribute_type_check.cpp ;
  109. run fusion_map.cpp ;
  110. run x3_variant.cpp ;
  111. run error_handler.cpp /boost//filesystem ;
  112. run iterator_check.cpp ;
  113. run to_utf8.cpp ;
  114. obj rule_separate_tu_grammar : rule_separate_tu_grammar.cpp ;
  115. run rule_separate_tu.cpp rule_separate_tu_grammar ;
  116. obj grammar_linker : grammar.cpp ;
  117. run grammar_linker.cpp grammar_linker ;