From c31939d6919a69bf6ac68ce2c9a19023524fb15c Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 11 Mar 2024 08:38:16 -0500 Subject: [PATCH 01/11] Make the library modular usable. --- Jamfile | 36 ------------ build.jam | 74 ++++++++++++++++++++++++ example/Jamfile | 2 +- example/karma/Jamfile | 6 +- example/lex/Jamfile | 2 +- example/qi/Jamfile | 12 ++-- example/qi/compiler_tutorial/Jamfile | 31 +++++----- example/x3/Jamfile | 4 +- example/x3/rexpr/rexpr_full/Jamfile | 1 - example/x3/rexpr/rexpr_full/test/Jamfile | 4 +- test/karma/Jamfile | 20 +++---- test/qi/Jamfile | 14 ++--- test/support/Jamfile | 2 +- test/test_headers/Jamfile | 10 ++-- test/x3/Jamfile | 2 +- 15 files changed, 131 insertions(+), 89 deletions(-) delete mode 100644 Jamfile create mode 100644 build.jam diff --git a/Jamfile b/Jamfile deleted file mode 100644 index 2c33f4c86a..0000000000 --- a/Jamfile +++ /dev/null @@ -1,36 +0,0 @@ -#============================================================================== -# Copyright (c) 2021 Nikita Kniazev -# -# 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 feature ; - -if ! [ feature.valid known-warnings ] { - feature.feature known-warnings : hide show : incidental propagated ; -} - -local 9.0-14.0 = 9.0 10.0 11.0 12.0 14.0 ; - -project spirit - : requirements - # Warnings that we have not managed to fix yet - hide,msvc:-wd4244 # conversion from 'T' to 'U', possible loss of data - hide,msvc:-wd4365 # conversion from 'T' to 'U', signed/unsigned mismatch - hide,msvc:-wd4459 # declaration of 'varname' hides global declaration - - # Enable additional useful warnings - extra,gcc:-Wshadow-local - extra,clang-linux:-Wshadow-field-in-constructor - extra,clang-linux:-Wshadow-uncaptured-local - extra,clang-linux:-Wundefined-reinterpret-cast - extra,msvc:-w44555 # result of expression not used - - # Broken or very high false-positive rate - hide,gcc:-Wno-maybe-uninitialized # Too many pesky false-positives - hide,msvc-$(9.0-14.0):-wd4100 # unreferenced formal parameter - hide,msvc-$(9.0-14.0):-wd4512 # assignment operator could not be generated - hide,msvc-$(9.0-14.0):-wd4714 # function 'x' marked as __forceinline not inlined - ; diff --git a/build.jam b/build.jam new file mode 100644 index 0000000000..c78895763e --- /dev/null +++ b/build.jam @@ -0,0 +1,74 @@ +# Copyright René Ferdinand Rivera Morell 2023 +# Copyright (c) 2021 Nikita Kniazev +# Distributed under 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 project ; +import feature ; + +if ! [ feature.valid known-warnings ] { + feature.feature known-warnings : hide show : incidental propagated ; +} + +local 9.0-14.0 = 9.0 10.0 11.0 12.0 14.0 ; + +project /boost/spirit + : common-requirements + /boost/array//boost_array + /boost/assert//boost_assert + /boost/config//boost_config + /boost/core//boost_core + /boost/endian//boost_endian + /boost/function//boost_function + /boost/function_types//boost_function_types + /boost/fusion//boost_fusion + /boost/integer//boost_integer + /boost/io//boost_io + /boost/iterator//boost_iterator + /boost/move//boost_move + /boost/mpl//boost_mpl + /boost/optional//boost_optional + /boost/phoenix//boost_phoenix + /boost/pool//boost_pool + /boost/preprocessor//boost_preprocessor + /boost/proto//boost_proto + /boost/range//boost_range + /boost/regex//boost_regex + /boost/smart_ptr//boost_smart_ptr + /boost/static_assert//boost_static_assert + /boost/thread//boost_thread + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits + /boost/typeof//boost_typeof + /boost/unordered//boost_unordered + /boost/utility//boost_utility + /boost/variant//boost_variant + include + : requirements + # Warnings that we have not managed to fix yet + hide,msvc:-wd4244 # conversion from 'T' to 'U', possible loss of data + hide,msvc:-wd4365 # conversion from 'T' to 'U', signed/unsigned mismatch + hide,msvc:-wd4459 # declaration of 'varname' hides global declaration + + # Enable additional useful warnings + extra,gcc:-Wshadow-local + extra,clang-linux:-Wshadow-field-in-constructor + extra,clang-linux:-Wshadow-uncaptured-local + extra,clang-linux:-Wundefined-reinterpret-cast + extra,msvc:-w44555 # result of expression not used + + # Broken or very high false-positive rate + hide,gcc:-Wno-maybe-uninitialized # Too many pesky false-positives + hide,msvc-$(9.0-14.0):-wd4100 # unreferenced formal parameter + hide,msvc-$(9.0-14.0):-wd4512 # assignment operator could not be generated + hide,msvc-$(9.0-14.0):-wd4714 # function 'x' marked as __forceinline not inlined + ; + +explicit + [ alias boost_spirit ] + [ alias all : boost_spirit example test ] + ; + +call-if : boost-library spirit + ; diff --git a/example/Jamfile b/example/Jamfile index 4aa2c3dd9e..60a2489f03 100644 --- a/example/Jamfile +++ b/example/Jamfile @@ -9,7 +9,7 @@ # build all examples -local examples = [ glob-tree [jJ]amfile [jJ]amfile.v2 ] ; +local examples = [ glob-tree "[jJ]amfile" "[jJ]amfile.v2" ] ; for local ex in $(examples) { local dir = $(ex:P) ; diff --git a/example/karma/Jamfile b/example/karma/Jamfile index a93cbb7a7a..5eef373353 100644 --- a/example/karma/Jamfile +++ b/example/karma/Jamfile @@ -12,9 +12,9 @@ project spirit-karma-example : ; -exe actions_example : actions.cpp ; +exe actions_example : actions.cpp /boost/lambda//boost_lambda ; exe auto_facilities : auto_facilities.cpp ; -exe basic_facilities : basic_facilities.cpp /boost//date_time ; +exe basic_facilities : basic_facilities.cpp /boost/date_time//boost_date_time /boost/tokenizer//boost_tokenizer ; exe karma_calc2_ast_dump : calc2_ast_dump.cpp ; exe karma_calc2_ast_rpn : calc2_ast_rpn.cpp ; exe karma_calc2_ast_vm : calc2_ast_vm.cpp ; @@ -31,7 +31,7 @@ exe mini_xml_karma : mini_xml_karma.cpp ; exe printf_style_double_format : printf_style_double_format.cpp ; exe quick_start1 : quick_start1.cpp ; exe karma_reference : reference.cpp ; -exe karma_reorder_struct : reorder_struct.cpp ; +exe karma_reorder_struct : reorder_struct.cpp /boost/assign//boost_assign ; exe karma_escaped_string : escaped_string.cpp ; exe simple_columns_directive : simple_columns_directive.cpp ; exe quoted_strings : quoted_strings.cpp ; diff --git a/example/lex/Jamfile b/example/lex/Jamfile index 79887762d7..4b6be112fa 100644 --- a/example/lex/Jamfile +++ b/example/lex/Jamfile @@ -24,7 +24,7 @@ exe print_number_tokenids : print_number_tokenids.cpp ; exe word_count : word_count.cpp ; exe word_count_functor : word_count_functor.cpp ; exe word_count_lexer : word_count_lexer.cpp ; -exe word_count_functor_flex : word_count_functor_flex.cpp ; +exe word_count_functor_flex : word_count_functor_flex.cpp /boost/timer//boost_timer ; exe strip_comments : strip_comments.cpp ; exe strip_comments_lexer : strip_comments_lexer.cpp ; exe custom_token_attribute : custom_token_attribute.cpp ; diff --git a/example/qi/Jamfile b/example/qi/Jamfile index a071c0d26a..9d5248e5d9 100644 --- a/example/qi/Jamfile +++ b/example/qi/Jamfile @@ -11,22 +11,22 @@ project spirit-qi-example : ; -exe actions_ : actions.cpp ; +exe actions_ : actions.cpp /boost/lambda//boost_lambda ; exe sum : sum.cpp ; exe complex_number : complex_number.cpp ; exe employee : employee.cpp ; exe roman : roman.cpp ; exe reference : reference.cpp ; -exe mini_xml1 : mini_xml1.cpp ; -exe mini_xml2 : mini_xml2.cpp ; -exe mini_xml3 : mini_xml3.cpp ; +exe mini_xml1 : mini_xml1.cpp /boost/foreach//boost_foreach ; +exe mini_xml2 : mini_xml2.cpp /boost/foreach//boost_foreach ; +exe mini_xml3 : mini_xml3.cpp /boost/foreach//boost_foreach ; exe num_list1 : num_list1.cpp ; exe num_list2 : num_list2.cpp ; exe num_list3 : num_list3.cpp ; exe num_list4 : num_list4.cpp ; -exe reorder_struct : reorder_struct.cpp ; +exe reorder_struct : reorder_struct.cpp /boost/foreach//boost_foreach ; exe parse_date : parse_date.cpp ; -exe expect : expect.cpp ; +exe expect : expect.cpp /boost/foreach//boost_foreach ; exe key_value_sequence : key_value_sequence.cpp ; exe key_value_sequence_ordered : key_value_sequence_ordered.cpp ; diff --git a/example/qi/compiler_tutorial/Jamfile b/example/qi/compiler_tutorial/Jamfile index bda2fad4b5..a12baa3ab0 100644 --- a/example/qi/compiler_tutorial/Jamfile +++ b/example/qi/compiler_tutorial/Jamfile @@ -12,48 +12,52 @@ project spirit-qi-compiler_tutorial import modules ; -exe calc1 : calc1.cpp ; -exe calc2 : calc2.cpp ; -exe calc3 : calc3.cpp ; -exe calc4 : calc4.cpp ; -exe calc5 : calc5.cpp ; -exe calc6 : calc6.cpp ; - -exe calc7 : +exe calc1_exe : calc1.cpp ; +exe calc2_exe : calc2.cpp ; +exe calc3_exe : calc3.cpp ; +exe calc4_exe : calc4.cpp /boost/foreach//boost_foreach ; +exe calc5_exe : calc5.cpp /boost/foreach//boost_foreach ; +exe calc6_exe : calc6.cpp /boost/foreach//boost_foreach ; + +exe calc7_exe : calc7/vm.cpp calc7/compiler.cpp calc7/expression.cpp calc7/statement.cpp calc7/main.cpp + /boost/foreach//boost_foreach ; -exe calc8 : +exe calc8_exe : calc8/vm.cpp calc8/compiler.cpp calc8/expression.cpp calc8/statement.cpp calc8/main.cpp + /boost/foreach//boost_foreach ; -exe mini_c : +exe mini_c_exe : mini_c/vm.cpp mini_c/compiler.cpp mini_c/expression.cpp mini_c/statement.cpp mini_c/function.cpp mini_c/main.cpp + /boost/foreach//boost_foreach ; -exe conjure1 : +exe conjure1_exe : conjure1/vm.cpp conjure1/compiler.cpp conjure1/expression.cpp conjure1/statement.cpp conjure1/function.cpp conjure1/main.cpp + /boost/foreach//boost_foreach ; -exe conjure2 : +exe conjure2_exe : conjure2/compiler.cpp conjure2/expression.cpp conjure2/function.cpp @@ -61,6 +65,7 @@ exe conjure2 : conjure2/main.cpp conjure2/statement.cpp conjure2/vm.cpp + /boost/foreach//boost_foreach ; #============================================================================== @@ -117,7 +122,7 @@ if $(LLVM_PATH) build_exe_1 $(target-name) : $(sources) : release ; } - build_exe conjure3 : + build_exe conjure3_exe : conjure3/compiler.cpp conjure3/expression.cpp conjure3/function.cpp diff --git a/example/x3/Jamfile b/example/x3/Jamfile index f7da1217c6..3935c2b8e0 100644 --- a/example/x3/Jamfile +++ b/example/x3/Jamfile @@ -47,7 +47,7 @@ exe x3_calc7 : ; exe x3_calc8 : - /boost//filesystem + /boost/filesystem//boost_filesystem calc/calc8/vm.cpp calc/calc8/compiler.cpp calc/calc8/expression.cpp @@ -56,7 +56,7 @@ exe x3_calc8 : ; exe x3_calc9 : - /boost//filesystem + /boost/filesystem//boost_filesystem calc/calc9/vm.cpp calc/calc9/compiler.cpp calc/calc9/expression.cpp diff --git a/example/x3/rexpr/rexpr_full/Jamfile b/example/x3/rexpr/rexpr_full/Jamfile index c799b5f9bc..8574e0a537 100644 --- a/example/x3/rexpr/rexpr_full/Jamfile +++ b/example/x3/rexpr/rexpr_full/Jamfile @@ -8,7 +8,6 @@ project spirit-x3-example-rexpr : requirements 512 - /boost//headers BOOST_SPIRIT_X3_NO_FILESYSTEM . ; diff --git a/example/x3/rexpr/rexpr_full/test/Jamfile b/example/x3/rexpr/rexpr_full/test/Jamfile index 4952e281bf..05db04a608 100644 --- a/example/x3/rexpr/rexpr_full/test/Jamfile +++ b/example/x3/rexpr/rexpr_full/test/Jamfile @@ -10,8 +10,8 @@ import testing ; project : requirements ..//rexpr - /boost//regex - /boost//filesystem + /boost/regex//boost_regex + /boost/filesystem//boost_filesystem 300 ; diff --git a/test/karma/Jamfile b/test/karma/Jamfile index 39078ac543..26e7af4e09 100644 --- a/test/karma/Jamfile +++ b/test/karma/Jamfile @@ -68,7 +68,7 @@ rule compile-fail ( sources + : requirements * : target-name ? ) compile-fail grammar_fail.cpp ; compile-fail rule_fail.cpp ; -run actions.cpp ; +run actions.cpp /boost/lambda//boost_lambda ; run alternative1.cpp ; run alternative2.cpp ; run and_predicate.cpp ; @@ -96,7 +96,7 @@ run duplicate.cpp ; run encoding.cpp ; run eol.cpp ; run eps.cpp ; -run format_manip.cpp ; +run format_manip.cpp /boost/assign//boost_assign ; run format_manip_attr.cpp ; run format_pointer_container.cpp ; run generate_attr.cpp ; @@ -104,10 +104,10 @@ run grammar.cpp ; run int1.cpp ; run int2.cpp ; run int3.cpp ; -run kleene.cpp ; +run kleene.cpp /boost/assign//boost_assign ; run lazy.cpp ; run left_alignment.cpp ; -run list.cpp ; +run list.cpp /boost/assign//boost_assign ; run lit.cpp ; run maxwidth.cpp ; run not_predicate.cpp ; @@ -117,12 +117,12 @@ run pattern1.cpp ; run pattern2.cpp ; run pattern3.cpp ; run pattern4.cpp ; -run plus.cpp ; -run real1.cpp ; -run real2.cpp ; -run real3.cpp ; -run repeat1.cpp ; -run repeat2.cpp ; +run plus.cpp /boost/assign//boost_assign ; +run real1.cpp /boost/math//boost_math ; +run real2.cpp /boost/math//boost_math ; +run real3.cpp /boost/math//boost_math ; +run repeat1.cpp /boost/assign//boost_assign ; +run repeat2.cpp /boost/assign//boost_assign ; run right_alignment.cpp ; run sequence1.cpp ; run sequence2.cpp ; diff --git a/test/qi/Jamfile b/test/qi/Jamfile index 3ecfc79a08..a4398aff86 100644 --- a/test/qi/Jamfile +++ b/test/qi/Jamfile @@ -67,7 +67,7 @@ rule compile-fail ( sources + : requirements * : target-name ? ) compile-fail grammar_fail.cpp ; compile-fail rule_fail.cpp ; -run actions.cpp : : : off ; # Enable PCH when boostorg/proto#13 is merged. +run actions.cpp /boost/lambda//boost_lambda : : : off ; # Enable PCH when boostorg/proto#13 is merged. run actions2.cpp : : : off ; run alternative.cpp ; run attr.cpp ; @@ -115,13 +115,13 @@ run pass_container1.cpp ; run pass_container2.cpp ; run permutation.cpp ; run plus.cpp ; -run range_run.cpp ; +run range_run.cpp /boost/dynamic_bitset//boost_dynamic_bitset /boost/random//boost_random ; run raw.cpp ; -run real1.cpp ; -run real2.cpp ; -run real3.cpp ; -run real4.cpp ; -run real5.cpp ; +run real1.cpp /boost/math//boost_math ; +run real2.cpp /boost/math//boost_math ; +run real3.cpp /boost/math//boost_math ; +run real4.cpp /boost/math//boost_math ; +run real5.cpp /boost/math//boost_math ; run repeat.cpp ; run rule1.cpp ; run rule2.cpp ; diff --git a/test/support/Jamfile b/test/support/Jamfile index 45d8c16ce5..fb66551a97 100644 --- a/test/support/Jamfile +++ b/test/support/Jamfile @@ -60,7 +60,7 @@ rule compile-fail ( sources + : requirements * : target-name ? ) run char_encoding.cpp ; run istream_iterator_basic.cpp ; -run line_pos_iterator.cpp ; +run line_pos_iterator.cpp /boost/assign//boost_assign ; run multi_pass_error_handler.cpp ; run multi_pass_parse.cpp ; run unused_type.cpp ; diff --git a/test/test_headers/Jamfile b/test/test_headers/Jamfile index cddbc19b71..84594f3378 100644 --- a/test/test_headers/Jamfile +++ b/test/test_headers/Jamfile @@ -16,16 +16,14 @@ import print ; import sequence ; import feature ; -project boost/spirit/test/test_headers +project : requirements - $(BOOST_ROOT) - ../../../.. 300 ; headers = [ - path.glob-tree ../../../../boost/spirit/include : *.hpp : classic* phoenix1* + glob-tree-ex ../../include/boost/spirit/include : *.hpp : classic* phoenix1* ] ; for local file in $(headers) @@ -35,7 +33,7 @@ for local file in $(headers) BOOST_SPIRIT_HEADER_NAME=$(file) $(file) : # test name - [ regex.replace [ path.relative-to ../../../../boost/spirit $(file) ] "/" "_" ] + [ regex.replace [ path.relative-to ../../include/boost/spirit/include $(file) ] "/" "_" ] ; } @@ -45,6 +43,8 @@ rule generate-include-all ( target : sources * : properties * ) { print.output $(target) ; + sources = [ MATCH "(.*[.]hpp)" : $(sources) ] ; + if reverse in $(properties) { sources = [ sequence.reverse $(sources) ] ; diff --git a/test/x3/Jamfile b/test/x3/Jamfile index 9c8e80bda3..455fc966b2 100644 --- a/test/x3/Jamfile +++ b/test/x3/Jamfile @@ -100,7 +100,7 @@ run raw.cpp ; run real1.cpp ; run real2.cpp ; run real3.cpp ; -run real4.cpp ; +run real4.cpp /boost/math//boost_math ; run rule1.cpp ; run rule2.cpp ; run rule3.cpp ; From d4c1c68736c8adf8858eca4ff6c0371f7ef28807 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 29 Mar 2024 21:15:59 -0500 Subject: [PATCH 02/11] Switch to library requirements instead of source. As source puts extra source in install targets. --- build.jam | 58 +++++++++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/build.jam b/build.jam index c78895763e..cc158e9e9f 100644 --- a/build.jam +++ b/build.jam @@ -15,35 +15,35 @@ local 9.0-14.0 = 9.0 10.0 11.0 12.0 14.0 ; project /boost/spirit : common-requirements - /boost/array//boost_array - /boost/assert//boost_assert - /boost/config//boost_config - /boost/core//boost_core - /boost/endian//boost_endian - /boost/function//boost_function - /boost/function_types//boost_function_types - /boost/fusion//boost_fusion - /boost/integer//boost_integer - /boost/io//boost_io - /boost/iterator//boost_iterator - /boost/move//boost_move - /boost/mpl//boost_mpl - /boost/optional//boost_optional - /boost/phoenix//boost_phoenix - /boost/pool//boost_pool - /boost/preprocessor//boost_preprocessor - /boost/proto//boost_proto - /boost/range//boost_range - /boost/regex//boost_regex - /boost/smart_ptr//boost_smart_ptr - /boost/static_assert//boost_static_assert - /boost/thread//boost_thread - /boost/throw_exception//boost_throw_exception - /boost/type_traits//boost_type_traits - /boost/typeof//boost_typeof - /boost/unordered//boost_unordered - /boost/utility//boost_utility - /boost/variant//boost_variant + /boost/array//boost_array + /boost/assert//boost_assert + /boost/config//boost_config + /boost/core//boost_core + /boost/endian//boost_endian + /boost/function//boost_function + /boost/function_types//boost_function_types + /boost/fusion//boost_fusion + /boost/integer//boost_integer + /boost/io//boost_io + /boost/iterator//boost_iterator + /boost/move//boost_move + /boost/mpl//boost_mpl + /boost/optional//boost_optional + /boost/phoenix//boost_phoenix + /boost/pool//boost_pool + /boost/preprocessor//boost_preprocessor + /boost/proto//boost_proto + /boost/range//boost_range + /boost/regex//boost_regex + /boost/smart_ptr//boost_smart_ptr + /boost/static_assert//boost_static_assert + /boost/thread//boost_thread + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits + /boost/typeof//boost_typeof + /boost/unordered//boost_unordered + /boost/utility//boost_utility + /boost/variant//boost_variant include : requirements # Warnings that we have not managed to fix yet From 485b0068985bf93507b8f14a977c7a90f1ac70e2 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 13 Apr 2024 16:20:21 -0500 Subject: [PATCH 03/11] Remove relative references to boost-root in Jamfiles. --- repository/test/test_headers/Jamfile | 36 +++++++++++++--------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/repository/test/test_headers/Jamfile b/repository/test/test_headers/Jamfile index 0b197a68f1..e1f704cba2 100644 --- a/repository/test/test_headers/Jamfile +++ b/repository/test/test_headers/Jamfile @@ -16,21 +16,19 @@ import print ; import sequence ; import feature ; -project boost/spirit/repository/test/test_headers - : requirements - $(BOOST_ROOT) - ../../../../.. +project boost/spirit/repository/test/test_headers + : requirements 300 ; -headers = -[ - path.glob-tree ../../../../../boost/spirit/repository/include : *.hpp +headers = +[ + path.glob-tree ../../../include/boost/spirit/repository/include : *.hpp ] ; -main_headers = -[ - path.glob-tree ../../../../../boost/spirit/include : *.hpp : classic* phoenix1* +main_headers = +[ + path.glob-tree ../../../include/boost/spirit/include : *.hpp : classic* phoenix1* ] ; for local file in $(headers) @@ -40,7 +38,7 @@ for local file in $(headers) BOOST_SPIRIT_HEADER_NAME=$(file) $(file) : # test name - [ regex.replace [ path.relative-to ../../../../../boost/spirit/repository $(file) ] "/" "_" ] + [ regex.replace [ path.relative-to ../../../include/boost/spirit/repository $(file) ] "/" "_" ] ; } @@ -63,19 +61,19 @@ rule generate-include-all ( target : sources * : properties * ) } -make auto_all1.cpp +make auto_all1.cpp : $(headers) $(main_headers) - : @generate-include-all + : @generate-include-all ; -make auto_all2.cpp +make auto_all2.cpp : $(headers) $(main_headers) - : @generate-include-all - : reverse + : @generate-include-all + : reverse ; # this ought to catch non-inlined functions and other duplicate definitions -link auto_all1.cpp auto_all2.cpp main.cpp - : . - : auto_all_headers +link auto_all1.cpp auto_all2.cpp main.cpp + : . + : auto_all_headers ; From c714c24aa223bf23a934d79627f721f039e8803b Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 4 May 2024 23:32:40 -0500 Subject: [PATCH 04/11] Add missing import-search for cconfig/predef checks. --- classic/test/Jamfile | 5 +++-- example/x3/Jamfile | 1 + test/x3/Jamfile | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/classic/test/Jamfile b/classic/test/Jamfile index 0ae4bf0200..7858076099 100644 --- a/classic/test/Jamfile +++ b/classic/test/Jamfile @@ -9,6 +9,7 @@ # http://www.boost.org/LICENSE_1_0.txt) #============================================================================== +import-search /boost/config/checks ; import config : requires ; ############################################################################### @@ -41,7 +42,7 @@ explicit pch pch-dbg ; rule spirit-run ( sources + : args * : input-files * : requirements * : name ? : default-build * ) { name ?= $(sources[1]:D=:S=) ; - return + return [ run $(sources) : $(args) : $(input-files) : $(requirements) on-spirit:pch : $(name) : $(default-build) ] @@ -210,6 +211,6 @@ local multi-threading = boost_thread [ compile typeof_support/typeof_symbols.cpp ] [ compile typeof_support/typeof_tree.cpp ] [ compile typeof_support/typeof_utility.cpp ] - ; + ; diff --git a/example/x3/Jamfile b/example/x3/Jamfile index 3935c2b8e0..f3593b1cf0 100644 --- a/example/x3/Jamfile +++ b/example/x3/Jamfile @@ -4,6 +4,7 @@ # Distributed under 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-search /boost/config/checks ; import config : requires ; project spirit-x3-example diff --git a/test/x3/Jamfile b/test/x3/Jamfile index 455fc966b2..6326cfaedf 100644 --- a/test/x3/Jamfile +++ b/test/x3/Jamfile @@ -8,6 +8,7 @@ # http://www.boost.org/LICENSE_1_0.txt) #============================================================================== +import-search /boost/config/checks ; import config : requires ; import modules ; import feature ; From 2c93b802e6429addaf970bfd16685739c1586553 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 09:00:01 -0500 Subject: [PATCH 05/11] Add requires-b2 check to top-level build file. --- build.jam | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.jam b/build.jam index cc158e9e9f..6182610fb9 100644 --- a/build.jam +++ b/build.jam @@ -4,6 +4,8 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +require-b2 5.1 ; + import project ; import feature ; From dbda017a36c0751cfa8addaccc4ebadbdb6996c3 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 14 Jun 2024 11:33:56 -0500 Subject: [PATCH 06/11] Bump B2 require to 5.2 --- build.jam | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build.jam b/build.jam index 6182610fb9..7fd3ef6d97 100644 --- a/build.jam +++ b/build.jam @@ -4,9 +4,8 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -require-b2 5.1 ; +require-b2 5.2 ; -import project ; import feature ; if ! [ feature.valid known-warnings ] { From b1947d9c3a8caadf9760999230d61b302af0a55c Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 21:25:51 -0500 Subject: [PATCH 07/11] Change all references to . --- example/x3/rexpr/rexpr_full/test/Jamfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/example/x3/rexpr/rexpr_full/test/Jamfile b/example/x3/rexpr/rexpr_full/test/Jamfile index 05db04a608..b426f4bd92 100644 --- a/example/x3/rexpr/rexpr_full/test/Jamfile +++ b/example/x3/rexpr/rexpr_full/test/Jamfile @@ -10,8 +10,8 @@ import testing ; project : requirements ..//rexpr - /boost/regex//boost_regex - /boost/filesystem//boost_filesystem + /boost/regex//boost_regex + /boost/filesystem//boost_filesystem 300 ; From ead3e4e4e46177545311cef3451696b2492f95df Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 22:52:03 -0500 Subject: [PATCH 08/11] Update copyright dates. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index 7fd3ef6d97..c76c3d536c 100644 --- a/build.jam +++ b/build.jam @@ -1,4 +1,4 @@ -# Copyright René Ferdinand Rivera Morell 2023 +# Copyright René Ferdinand Rivera Morell 2023-2024 # Copyright (c) 2021 Nikita Kniazev # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at From 64a8fef7dd0c83be87d576beff9833a01b13e4b9 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 23 Jul 2024 22:34:22 -0500 Subject: [PATCH 09/11] Move inter-lib dependencies to a project variable and into the build targets. --- build.jam | 63 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/build.jam b/build.jam index c76c3d536c..0ef57f79f2 100644 --- a/build.jam +++ b/build.jam @@ -14,37 +14,39 @@ if ! [ feature.valid known-warnings ] { local 9.0-14.0 = 9.0 10.0 11.0 12.0 14.0 ; +constant boost_dependencies : + /boost/array//boost_array + /boost/assert//boost_assert + /boost/config//boost_config + /boost/core//boost_core + /boost/endian//boost_endian + /boost/function//boost_function + /boost/function_types//boost_function_types + /boost/fusion//boost_fusion + /boost/integer//boost_integer + /boost/io//boost_io + /boost/iterator//boost_iterator + /boost/move//boost_move + /boost/mpl//boost_mpl + /boost/optional//boost_optional + /boost/phoenix//boost_phoenix + /boost/pool//boost_pool + /boost/preprocessor//boost_preprocessor + /boost/proto//boost_proto + /boost/range//boost_range + /boost/regex//boost_regex + /boost/smart_ptr//boost_smart_ptr + /boost/static_assert//boost_static_assert + /boost/thread//boost_thread + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits + /boost/typeof//boost_typeof + /boost/unordered//boost_unordered + /boost/utility//boost_utility + /boost/variant//boost_variant ; + project /boost/spirit : common-requirements - /boost/array//boost_array - /boost/assert//boost_assert - /boost/config//boost_config - /boost/core//boost_core - /boost/endian//boost_endian - /boost/function//boost_function - /boost/function_types//boost_function_types - /boost/fusion//boost_fusion - /boost/integer//boost_integer - /boost/io//boost_io - /boost/iterator//boost_iterator - /boost/move//boost_move - /boost/mpl//boost_mpl - /boost/optional//boost_optional - /boost/phoenix//boost_phoenix - /boost/pool//boost_pool - /boost/preprocessor//boost_preprocessor - /boost/proto//boost_proto - /boost/range//boost_range - /boost/regex//boost_regex - /boost/smart_ptr//boost_smart_ptr - /boost/static_assert//boost_static_assert - /boost/thread//boost_thread - /boost/throw_exception//boost_throw_exception - /boost/type_traits//boost_type_traits - /boost/typeof//boost_typeof - /boost/unordered//boost_unordered - /boost/utility//boost_utility - /boost/variant//boost_variant include : requirements # Warnings that we have not managed to fix yet @@ -67,9 +69,10 @@ project /boost/spirit ; explicit - [ alias boost_spirit ] + [ alias boost_spirit : : : : $(boost_dependencies) ] [ alias all : boost_spirit example test ] ; call-if : boost-library spirit ; + From 32d0535ace4ef48a187023b5a8b1bd3be4b696db Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 8 Aug 2024 23:15:28 -0500 Subject: [PATCH 10/11] Update build deps. --- example/Jamfile | 2 ++ test/Jamfile | 2 ++ 2 files changed, 4 insertions(+) diff --git a/example/Jamfile b/example/Jamfile index 60a2489f03..57491f3f7f 100644 --- a/example/Jamfile +++ b/example/Jamfile @@ -9,6 +9,8 @@ # build all examples +project : requirements /boost/spirit//boost_spirit ; + local examples = [ glob-tree "[jJ]amfile" "[jJ]amfile.v2" ] ; for local ex in $(examples) { diff --git a/test/Jamfile b/test/Jamfile index 451215a466..57208b9338 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -8,6 +8,8 @@ # http://www.boost.org/LICENSE_1_0.txt) #============================================================================== +project : requirements /boost/spirit//boost_spirit ; + build-project karma ; build-project lex ; build-project qi ; From d85a0f485a040abd1848905cefb7bc71faaeeec6 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 11 Aug 2024 09:23:25 -0500 Subject: [PATCH 11/11] Change math dep real target math/tr1. --- test/karma/Jamfile | 6 +++--- test/qi/Jamfile | 10 +++++----- test/x3/Jamfile | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/test/karma/Jamfile b/test/karma/Jamfile index 26e7af4e09..f7b5f0cd89 100644 --- a/test/karma/Jamfile +++ b/test/karma/Jamfile @@ -118,9 +118,9 @@ run pattern2.cpp ; run pattern3.cpp ; run pattern4.cpp ; run plus.cpp /boost/assign//boost_assign ; -run real1.cpp /boost/math//boost_math ; -run real2.cpp /boost/math//boost_math ; -run real3.cpp /boost/math//boost_math ; +run real1.cpp /boost/math//boost_math_tr1 ; +run real2.cpp /boost/math//boost_math_tr1 ; +run real3.cpp /boost/math//boost_math_tr1 ; run repeat1.cpp /boost/assign//boost_assign ; run repeat2.cpp /boost/assign//boost_assign ; run right_alignment.cpp ; diff --git a/test/qi/Jamfile b/test/qi/Jamfile index a4398aff86..069f7693ef 100644 --- a/test/qi/Jamfile +++ b/test/qi/Jamfile @@ -117,11 +117,11 @@ run permutation.cpp ; run plus.cpp ; run range_run.cpp /boost/dynamic_bitset//boost_dynamic_bitset /boost/random//boost_random ; run raw.cpp ; -run real1.cpp /boost/math//boost_math ; -run real2.cpp /boost/math//boost_math ; -run real3.cpp /boost/math//boost_math ; -run real4.cpp /boost/math//boost_math ; -run real5.cpp /boost/math//boost_math ; +run real1.cpp /boost/math//boost_math_tr1 ; +run real2.cpp /boost/math//boost_math_tr1 ; +run real3.cpp /boost/math//boost_math_tr1 ; +run real4.cpp /boost/math//boost_math_tr1 ; +run real5.cpp /boost/math//boost_math_tr1 ; run repeat.cpp ; run rule1.cpp ; run rule2.cpp ; diff --git a/test/x3/Jamfile b/test/x3/Jamfile index 6326cfaedf..2cfbfc7428 100644 --- a/test/x3/Jamfile +++ b/test/x3/Jamfile @@ -101,7 +101,7 @@ run raw.cpp ; run real1.cpp ; run real2.cpp ; run real3.cpp ; -run real4.cpp /boost/math//boost_math ; +run real4.cpp /boost/math//boost_math_tr1 ; run rule1.cpp ; run rule2.cpp ; run rule3.cpp ;