| #============================================================================== |
| # Copyright (c) 2001-2013 Joel de Guzman |
| # Copyright (c) 2001-2012 Hartmut Kaiser |
| # Copyright (c) 2011 Bryce Lelbach |
| # |
| # Use, modification and distribution is subject to the Boost Software |
| # License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at |
| # http://www.boost.org/LICENSE_1_0.txt) |
| #============================================================================== |
| |
| import config : requires ; |
| import modules ; |
| import feature ; |
| import testing ; |
| |
| ############################################################################### |
| |
| project spirit-x3 |
| : requirements |
| <include>. |
| <c++-template-depth>512 |
| [ requires |
| # Assume all the cxx11 checks succeed if any of cxx14 does. |
| #cxx14_binary_literals # grep -Er "[0-9]+b[0-9]+" * |
| #cxx14_constexpr |
| cxx14_decltype_auto # grep -r "decltype(auto)" * |
| #cxx14_digit_separators # grep -Er "[0-9]+'[0-9]+" * |
| cxx14_generic_lambdas # grep -Er "]\s*\\([^\\)]*auto" * |
| #cxx14_hdr_shared_mutex # grep -r "shared_mutex" * |
| #cxx14_initialized_lambda_captures # grep -Er "\\[[^=\\]]+=" * |
| #cxx14_aggregate_nsdmi |
| cxx14_return_type_deduction # grep -Er "auto[^\\(=\\)]+\(" * |
| #cxx14_std_exchange # grep -r "exchange" * |
| cxx14_variable_templates |
| ] |
| ; |
| |
| ############################################################################### |
| |
| local subproject-name = x3 ; |
| |
| rule run ( sources + : args * : input-files * |
| : requirements * : target-name ? : default-build * ) |
| { |
| target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ; |
| return [ testing.run $(sources) : $(args) : $(input-files) |
| : $(requirements) : $(target-name) : $(default-build) ] ; |
| } |
| |
| rule compile ( sources + : requirements * : target-name ? ) |
| { |
| target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ; |
| return [ testing.compile $(sources) |
| : $(requirements) : $(target-name) ] ; |
| } |
| |
| rule compile-fail ( sources + : requirements * : target-name ? ) |
| { |
| target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ; |
| return [ testing.compile-fail $(sources) |
| : $(requirements) : $(target-name) ] ; |
| } |
| |
| ############################################################################### |
| |
| run actions.cpp ; |
| run alternative.cpp ; |
| run and_predicate.cpp ; |
| run any_parser.cpp ; |
| run attr.cpp ; |
| run binary.cpp ; |
| run bool.cpp ; |
| run char1.cpp ; |
| run char_class.cpp ; |
| run container_support.cpp ; |
| run debug.cpp ; |
| run difference.cpp ; |
| run eoi.cpp ; |
| run eol.cpp ; |
| run eps.cpp ; |
| run expect.cpp ; |
| run extract_int.cpp ; |
| run int1.cpp ; |
| run kleene.cpp ; |
| run lexeme.cpp ; |
| run lit1.cpp ; |
| run lit2.cpp ; |
| run list.cpp ; |
| run matches.cpp ; |
| run no_case.cpp ; |
| run no_skip.cpp ; |
| run not_predicate.cpp ; |
| run omit.cpp ; |
| run optional.cpp ; |
| run plus.cpp ; |
| run with.cpp ; |
| |
| run raw.cpp ; |
| run real1.cpp ; |
| run real2.cpp ; |
| run real3.cpp ; |
| run real4.cpp ; |
| run rule1.cpp ; |
| run rule2.cpp ; |
| run rule3.cpp ; |
| run rule4.cpp ; |
| run sequence.cpp ; |
| run skip.cpp ; |
| run symbols1.cpp ; |
| run symbols2.cpp ; |
| run symbols3.cpp ; |
| run tst.cpp ; |
| |
| run uint1.cpp ; |
| run uint_radix.cpp ; |
| |
| run confix.cpp ; |
| run repeat.cpp ; |
| run seek.cpp ; |
| |
| run unused_type.cpp ; |
| run attribute_type_check.cpp ; |
| run fusion_map.cpp ; |
| run x3_variant.cpp ; |
| run error_handler.cpp ; |
| run iterator_check.cpp ; |
| |
| run to_utf8.cpp ; |
| |
| obj rule_separate_tu_grammar : rule_separate_tu_grammar.cpp ; |
| run rule_separate_tu.cpp rule_separate_tu_grammar ; |
| |
| obj grammar_linker : grammar.cpp ; |
| run grammar_linker.cpp grammar_linker ; |