• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
11import config : requires ;
12import modules ;
13import feature ;
14import testing ;
15
16###############################################################################
17
18project spirit-x3
19    : requirements
20        <include>.
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" *
34            cxx14_variable_templates
35        ]
36    ;
37
38###############################################################################
39
40local subproject-name = x3 ;
41
42rule run ( sources + : args * : input-files *
43         : requirements * : target-name ? : default-build * )
44{
45    target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
46    return [ testing.run $(sources) : $(args) : $(input-files)
47           : $(requirements) : $(target-name) : $(default-build) ] ;
48}
49
50rule compile ( sources + : requirements * : target-name ? )
51{
52    target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
53    return [ testing.compile $(sources)
54           : $(requirements) : $(target-name) ] ;
55}
56
57rule compile-fail ( sources + : requirements * : target-name ? )
58{
59    target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
60    return [ testing.compile-fail $(sources)
61           : $(requirements) : $(target-name) ] ;
62}
63
64###############################################################################
65
66run actions.cpp ;
67run alternative.cpp ;
68run and_predicate.cpp ;
69run any_parser.cpp ;
70run attr.cpp ;
71run binary.cpp ;
72run bool.cpp ;
73run char1.cpp ;
74run char_class.cpp ;
75run container_support.cpp ;
76run debug.cpp ;
77run difference.cpp ;
78run eoi.cpp ;
79run eol.cpp ;
80run eps.cpp ;
81run expect.cpp ;
82run extract_int.cpp ;
83run int1.cpp ;
84run kleene.cpp ;
85run lexeme.cpp ;
86run lit1.cpp ;
87run lit2.cpp ;
88run list.cpp ;
89run matches.cpp ;
90run no_case.cpp ;
91run no_skip.cpp ;
92run not_predicate.cpp ;
93run omit.cpp ;
94run optional.cpp ;
95run plus.cpp ;
96run with.cpp ;
97
98run raw.cpp ;
99run real1.cpp ;
100run real2.cpp ;
101run real3.cpp ;
102run real4.cpp ;
103run rule1.cpp ;
104run rule2.cpp ;
105run rule3.cpp ;
106run rule4.cpp ;
107run sequence.cpp ;
108run skip.cpp ;
109run symbols1.cpp ;
110run symbols2.cpp ;
111run symbols3.cpp ;
112run tst.cpp ;
113
114run uint1.cpp ;
115run uint_radix.cpp ;
116
117run confix.cpp ;
118run repeat.cpp ;
119run seek.cpp ;
120
121run unused_type.cpp ;
122run attribute_type_check.cpp ;
123run fusion_map.cpp ;
124run x3_variant.cpp ;
125run error_handler.cpp ;
126run iterator_check.cpp ;
127
128run to_utf8.cpp ;
129
130obj rule_separate_tu_grammar : rule_separate_tu_grammar.cpp ;
131run rule_separate_tu.cpp rule_separate_tu_grammar ;
132
133obj grammar_linker : grammar.cpp ;
134run grammar_linker.cpp grammar_linker ;
135