]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | ||
11fdf7f2 | 11 | import config : requires ; |
7c673cae FG |
12 | import modules ; |
13 | import feature ; | |
11fdf7f2 | 14 | import testing ; |
7c673cae FG |
15 | |
16 | ############################################################################### | |
11fdf7f2 TL |
17 | |
18 | project spirit-x3 | |
7c673cae FG |
19 | : requirements |
20 | <include>. | |
11fdf7f2 TL |
21 | <c++-template-depth>512 |
22 | [ requires | |
23 | # Assume all the cxx11 checks succeed if any of cxx14 does. | |
24 | #cxx14_binary_literals # grep -Er "[0-9]+b[0-9]+" * | |
25 | #cxx14_constexpr | |
26 | cxx14_decltype_auto # grep -r "decltype(auto)" * | |
27 | #cxx14_digit_separators # grep -Er "[0-9]+'[0-9]+" * | |
28 | cxx14_generic_lambdas # grep -Er "]\s*\\([^\\)]*auto" * | |
29 | #cxx14_hdr_shared_mutex # grep -r "shared_mutex" * | |
30 | #cxx14_initialized_lambda_captures # grep -Er "\\[[^=\\]]+=" * | |
31 | #cxx14_aggregate_nsdmi | |
32 | cxx14_return_type_deduction # grep -Er "auto[^\\(=\\)]+\(" * | |
33 | #cxx14_std_exchange # grep -r "exchange" * | |
92f5a8d4 | 34 | cxx14_variable_templates |
11fdf7f2 | 35 | ] |
7c673cae FG |
36 | ; |
37 | ||
11fdf7f2 TL |
38 | ############################################################################### |
39 | ||
40 | local subproject-name = x3 ; | |
7c673cae | 41 | |
11fdf7f2 TL |
42 | rule run ( sources + : args * : input-files * |
43 | : requirements * : target-name ? : default-build * ) | |
7c673cae | 44 | { |
11fdf7f2 TL |
45 | target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ; |
46 | return [ testing.run $(sources) : $(args) : $(input-files) | |
47 | : $(requirements) : $(target-name) : $(default-build) ] ; | |
7c673cae FG |
48 | } |
49 | ||
50 | rule compile ( sources + : requirements * : target-name ? ) | |
51 | { | |
11fdf7f2 TL |
52 | target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ; |
53 | return [ testing.compile $(sources) | |
54 | : $(requirements) : $(target-name) ] ; | |
7c673cae FG |
55 | } |
56 | ||
57 | rule compile-fail ( sources + : requirements * : target-name ? ) | |
58 | { | |
11fdf7f2 TL |
59 | target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ; |
60 | return [ testing.compile-fail $(sources) | |
61 | : $(requirements) : $(target-name) ] ; | |
7c673cae FG |
62 | } |
63 | ||
64 | ############################################################################### | |
65 | ||
11fdf7f2 TL |
66 | run actions.cpp ; |
67 | run alternative.cpp ; | |
68 | run and_predicate.cpp ; | |
69 | run any_parser.cpp ; | |
70 | run attr.cpp ; | |
71 | run binary.cpp ; | |
72 | run bool.cpp ; | |
73 | run char1.cpp ; | |
74 | run char_class.cpp ; | |
75 | run container_support.cpp ; | |
76 | run debug.cpp ; | |
77 | run difference.cpp ; | |
78 | run eoi.cpp ; | |
79 | run eol.cpp ; | |
80 | run eps.cpp ; | |
81 | run expect.cpp ; | |
92f5a8d4 | 82 | run extract_int.cpp ; |
11fdf7f2 TL |
83 | run int1.cpp ; |
84 | run kleene.cpp ; | |
85 | run lexeme.cpp ; | |
86 | run lit1.cpp ; | |
87 | run lit2.cpp ; | |
88 | run list.cpp ; | |
89 | run matches.cpp ; | |
90 | run no_case.cpp ; | |
91 | run no_skip.cpp ; | |
92 | run not_predicate.cpp ; | |
93 | run omit.cpp ; | |
94 | run optional.cpp ; | |
95 | run plus.cpp ; | |
96 | run with.cpp ; | |
7c673cae | 97 | |
11fdf7f2 TL |
98 | run raw.cpp ; |
99 | run real1.cpp ; | |
100 | run real2.cpp ; | |
101 | run real3.cpp ; | |
102 | run real4.cpp ; | |
103 | run rule1.cpp ; | |
104 | run rule2.cpp ; | |
105 | run rule3.cpp ; | |
106 | run rule4.cpp ; | |
107 | run sequence.cpp ; | |
108 | run skip.cpp ; | |
109 | run symbols1.cpp ; | |
110 | run symbols2.cpp ; | |
111 | run symbols3.cpp ; | |
92f5a8d4 | 112 | run tst.cpp ; |
7c673cae | 113 | |
11fdf7f2 TL |
114 | run uint1.cpp ; |
115 | run uint_radix.cpp ; | |
7c673cae | 116 | |
11fdf7f2 TL |
117 | run confix.cpp ; |
118 | run repeat.cpp ; | |
119 | run seek.cpp ; | |
7c673cae | 120 | |
92f5a8d4 | 121 | run unused_type.cpp ; |
11fdf7f2 TL |
122 | run attribute_type_check.cpp ; |
123 | run fusion_map.cpp ; | |
124 | run x3_variant.cpp ; | |
20effc67 | 125 | run error_handler.cpp ; |
11fdf7f2 | 126 | run iterator_check.cpp ; |
92f5a8d4 TL |
127 | |
128 | run to_utf8.cpp ; | |
129 | ||
130 | obj rule_separate_tu_grammar : rule_separate_tu_grammar.cpp ; | |
131 | run rule_separate_tu.cpp rule_separate_tu_grammar ; | |
132 | ||
133 | obj grammar_linker : grammar.cpp ; | |
134 | run grammar_linker.cpp grammar_linker ; |