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