• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#==============================================================================
2#   Copyright (c) 2001-2011 Joel de Guzman
3#   Copyright (c) 2001-2012 Hartmut Kaiser
4#   Copyright (c)      2011 Bryce Lelbach
5#   Copyright (c) 2016-2019 Nikita Kniazev
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
12import modules ;
13import path ;
14import testing ;
15
16###############################################################################
17
18project spirit-lex
19    : requirements
20        <include>.
21        <c++-template-depth>512
22    ;
23
24###############################################################################
25
26cpp-pch pch : pch.hpp : : : <include>. <force-include>pch.hpp ;
27
28explicit pch ;
29
30###############################################################################
31
32local subproject-name = lex ;
33
34rule run ( sources + : args * : input-files *
35         : requirements * : target-name ? : default-build * )
36{
37    target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
38    return [ testing.run $(sources) : $(args) : $(input-files)
39           : $(requirements) <pch>on-spirit:<source>pch : $(target-name) : $(default-build) ] ;
40}
41
42rule compile ( sources + : requirements * : target-name ? )
43{
44    target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
45    return [ testing.compile $(sources)
46           : $(requirements) <pch>on-spirit:<source>pch : $(target-name) ] ;
47}
48
49rule compile-fail ( sources + : requirements * : target-name ? )
50{
51    target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
52    return [ testing.compile-fail $(sources)
53           : $(requirements) <pch>on-spirit:<source>pch : $(target-name) ] ;
54}
55
56###############################################################################
57
58rule location ( name )
59{
60    local this = [ modules.binding $(__name__) ] ;
61    local here = [ path.parent [ path.make $(this) ] ] ;
62    return [ path.join $(here) $(name) ] ;
63}
64
65###############################################################################
66
67run auto_switch_lexerstate.cpp ;
68run dedent_handling_phoenix.cpp ;
69run id_type_enum.cpp ;
70run lexertl1.cpp ;
71run lexertl2.cpp ;
72run lexertl3.cpp ;
73run lexertl4.cpp ;
74run lexertl5.cpp ;
75run lexer_state_switcher.cpp ;
76run semantic_actions.cpp ;
77run set_token_value.cpp ;
78run set_token_value_phoenix.cpp ;
79run state_switcher.cpp ;
80run string_token_id.cpp ;
81run token_iterpair.cpp ;
82run token_moretypes.cpp ;
83run token_omit.cpp ;
84run token_onetype.cpp ;
85run plain_token.cpp ;
86
87run regression_basic_lexer.cpp ;
88run regression_matlib_dynamic.cpp ;
89run regression_matlib_generate.cpp         : [ location matlib_static.h ] ;
90run regression_matlib_static.cpp           : : : <dependency>lex_regression_matlib_generate ;
91run regression_matlib_generate_switch.cpp  : [ location matlib_static_switch.h ] ;
92run regression_matlib_switch.cpp           : : : <dependency>lex_regression_matlib_generate_switch ;
93run regression_word_count.cpp ;
94run regression_syntax_error.cpp ;
95run regression_wide.cpp ;
96run regression_file_iterator1.cpp ;
97run regression_file_iterator2.cpp ;
98run regression_file_iterator3.cpp : : : <pch>off ;
99run regression_file_iterator4.cpp ;
100run regression_static_wide_6253.cpp ;
101run regression_less_8563.cpp ;
102