From 52a5f39077a9fc0aa817cd86ebb7f41955bcd0ed Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 11 Mar 2024 08:38:17 -0500 Subject: [PATCH 01/14] Make the library modular usable. --- build.jam | 37 +++++++++++++++++++ example/Jamfile.v2 | 36 ------------------ example/boost_party_/Jamfile.v2 | 2 - example/custom_interval_/Jamfile.v2 | 2 - example/partys_height_average_/Jamfile.v2 | 2 - example/partys_tallest_guests_/Jamfile.v2 | 2 - test/Jamfile.v2 | 2 +- .../cmp_clang_ttp_passing.cpp | 2 +- test/ex_boost_party_/ex_boost_party.cpp | 2 +- .../fast_stat_interval_map.cpp | 2 +- .../fastest_icl_interval.cpp | 2 +- test/fastest_icl_map_/fastest_icl_map.cpp | 2 +- .../fastest_interval_map.cpp | 2 +- .../fastest_interval_map_infix.cpp | 2 +- .../fastest_interval_map_infix_mixed.cpp | 2 +- .../fastest_interval_map_mixed2.cpp | 2 +- .../fastest_interval_map_mixed.cpp | 2 +- .../fastest_interval_set.cpp | 2 +- .../fastest_interval_set_infix.cpp | 2 +- .../fastest_interval_set_mixed.cpp | 2 +- .../fastest_partial_icl_quantifier.cpp | 2 +- .../fastest_partial_interval_quantifier.cpp | 2 +- .../fastest_separate_interval_set.cpp | 2 +- .../fastest_separate_interval_set_infix.cpp | 2 +- .../fastest_set_icl_set.cpp | 2 +- .../fastest_set_interval_set.cpp | 2 +- .../fastest_split_interval_map.cpp | 2 +- .../fastest_split_interval_map_infix.cpp | 2 +- .../fastest_split_interval_set.cpp | 2 +- .../fastest_split_interval_set_infix.cpp | 2 +- .../fastest_total_icl_quantifier.cpp | 2 +- .../fastest_total_interval_quantifier.cpp | 2 +- .../fix_icl_after_thread.cpp | 2 +- test/fix_tickets_/fix_tickets.cpp | 2 +- test/test_casual_/test_casual.cpp | 2 +- .../test_changing_interval_defaults.cpp | 2 +- test/test_combinable_/test_combinable.cpp | 2 +- test/test_doc_code_/test_doc_code.cpp | 2 +- test/test_icl_interval_/test_icl_interval.cpp | 2 +- test/test_icl_map_/test_icl_map.cpp | 2 +- test/test_interval_map_/test_interval_map.cpp | 2 +- .../test_interval_map_infix.cpp | 2 +- .../test_interval_map_infix_mixed.cpp | 2 +- .../test_interval_map_mixed2.cpp | 2 +- .../test_interval_map_mixed.cpp | 2 +- test/test_interval_set_/test_interval_set.cpp | 2 +- .../test_interval_set_infix.cpp | 2 +- .../test_interval_set_mixed.cpp | 2 +- test/test_misc_/test_misc.cpp | 2 +- .../test_partial_icl_quantifier.cpp | 2 +- .../test_partial_interval_quantifier.cpp | 2 +- .../test_separate_interval_set.cpp | 2 +- .../test_separate_interval_set_infix.cpp | 2 +- test/test_set_icl_set_/test_set_icl_set.cpp | 2 +- .../test_set_interval_set.cpp | 2 +- .../test_split_interval_map.cpp | 2 +- .../test_split_interval_map_infix.cpp | 2 +- .../test_split_interval_set.cpp | 2 +- .../test_split_interval_set_infix.cpp | 2 +- .../test_total_icl_quantifier.cpp | 2 +- .../test_total_interval_quantifier.cpp | 2 +- test/test_type_lists.hpp | 2 +- test/test_type_traits_/test_type_traits.cpp | 2 +- 63 files changed, 94 insertions(+), 101 deletions(-) create mode 100644 build.jam diff --git a/build.jam b/build.jam new file mode 100644 index 00000000..1981a6ec --- /dev/null +++ b/build.jam @@ -0,0 +1,37 @@ +# Copyright René Ferdinand Rivera Morell 2023 +# 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 ; + +project /boost/icl + : common-requirements + /boost/assert//boost_assert + /boost/concept_check//boost_concept_check + /boost/config//boost_config + /boost/container//boost_container + /boost/core//boost_core + /boost/date_time//boost_date_time + /boost/detail//boost_detail + /boost/iterator//boost_iterator + /boost/move//boost_move + /boost/mpl//boost_mpl + /boost/range//boost_range + /boost/rational//boost_rational + /boost/static_assert//boost_static_assert + /boost/type_traits//boost_type_traits + /boost/utility//boost_utility + include + ; + +explicit + [ alias boost_icl ] + [ alias all : boost_icl + example example/boost_party_ example/custom_interval_ + example/partys_height_average_ example/partys_tallest_guests_ + test ] + ; + +call-if : boost-library icl + ; diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index 5e48af9d..a89da91c 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -7,72 +7,54 @@ exe interval : interval_/interval.cpp : - ../../.. - $(BOOST_ROOT) ; exe interval_container : interval_container_/interval_container.cpp : - ../../.. - $(BOOST_ROOT) ; exe overlap_counter : overlap_counter_/overlap_counter.cpp : - ../../.. - $(BOOST_ROOT) ; exe party : party_/party.cpp : - ../../.. - $(BOOST_ROOT) ; exe std_copy : std_copy_/std_copy.cpp : - ../../.. - $(BOOST_ROOT) ; exe std_transform : std_transform_/std_transform.cpp : - ../../.. - $(BOOST_ROOT) ; exe custom_interval : custom_interval_/custom_interval.cpp : - ../../.. - $(BOOST_ROOT) ; exe dynamic_interval : dynamic_interval_/dynamic_interval.cpp : - ../../.. - $(BOOST_ROOT) ; exe static_interval : static_interval_/static_interval.cpp : - ../../.. - $(BOOST_ROOT) ; # Examples using boost_date_time @@ -80,48 +62,36 @@ exe boost_party : boost_party_/boost_party.cpp : - ../../.. - $(BOOST_ROOT) ; exe partys_height_average : partys_height_average_/partys_height_average.cpp : - ../../.. - $(BOOST_ROOT) ; exe partys_tallest_guests : partys_tallest_guests_/partys_tallest_guests.cpp : - ../../.. - $(BOOST_ROOT) ; exe man_power : man_power_/man_power.cpp : - ../../.. - $(BOOST_ROOT) ; exe month_and_week_grid : month_and_week_grid_/month_and_week_grid.cpp : - ../../.. - $(BOOST_ROOT) ; exe user_groups : user_groups_/user_groups.cpp : - ../../.. - $(BOOST_ROOT) ; # Projects @@ -129,8 +99,6 @@ exe large_bitset : large_bitset_/large_bitset.cpp : - ../../.. - $(BOOST_ROOT) ; @@ -139,15 +107,11 @@ exe itvset_shell : itvset_shell_/itvset_shell.cpp : - ../../.. - $(BOOST_ROOT) ; exe splititvmap_shell : splititvmap_shell_/splititvmap_shell.cpp : - ../../.. - $(BOOST_ROOT) ; diff --git a/example/boost_party_/Jamfile.v2 b/example/boost_party_/Jamfile.v2 index b9a856bd..dab1f9ae 100644 --- a/example/boost_party_/Jamfile.v2 +++ b/example/boost_party_/Jamfile.v2 @@ -6,6 +6,4 @@ exe boost_party : boost_party.cpp : - ../../.. - $(BOOST_ROOT) ; diff --git a/example/custom_interval_/Jamfile.v2 b/example/custom_interval_/Jamfile.v2 index 404abbc0..8e9dc31a 100644 --- a/example/custom_interval_/Jamfile.v2 +++ b/example/custom_interval_/Jamfile.v2 @@ -6,6 +6,4 @@ exe custom_interval : custom_interval.cpp : - ../../.. - $(BOOST_ROOT) ; diff --git a/example/partys_height_average_/Jamfile.v2 b/example/partys_height_average_/Jamfile.v2 index cc035f2e..2f17c26b 100644 --- a/example/partys_height_average_/Jamfile.v2 +++ b/example/partys_height_average_/Jamfile.v2 @@ -6,6 +6,4 @@ exe partys_height_average : partys_height_average.cpp : - ../../.. - $(BOOST_ROOT) ; diff --git a/example/partys_tallest_guests_/Jamfile.v2 b/example/partys_tallest_guests_/Jamfile.v2 index bf2ad30b..779dd76b 100644 --- a/example/partys_tallest_guests_/Jamfile.v2 +++ b/example/partys_tallest_guests_/Jamfile.v2 @@ -6,6 +6,4 @@ exe partys_tallest_guests : partys_tallest_guests.cpp : - ../../.. - $(BOOST_ROOT) ; diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 3cd9583f..0c0c43b9 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -11,7 +11,7 @@ project /boost/test//boost_unit_test_framework /boost/chrono//boost_chrono static - ../../.. + . ; test-suite "itl" diff --git a/test/cmp_clang_ttp_passing_/cmp_clang_ttp_passing.cpp b/test/cmp_clang_ttp_passing_/cmp_clang_ttp_passing.cpp index 9d723ebc..91e78604 100644 --- a/test/cmp_clang_ttp_passing_/cmp_clang_ttp_passing.cpp +++ b/test/cmp_clang_ttp_passing_/cmp_clang_ttp_passing.cpp @@ -6,7 +6,7 @@ Copyright (c) 2011-2011: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::cmp_clang_ttp_passing unit test -#include +#include #include #include "../unit_test_unwarned.hpp" diff --git a/test/ex_boost_party_/ex_boost_party.cpp b/test/ex_boost_party_/ex_boost_party.cpp index a50a8f68..bfc27317 100644 --- a/test/ex_boost_party_/ex_boost_party.cpp +++ b/test/ex_boost_party_/ex_boost_party.cpp @@ -7,7 +7,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::example_boost_party unit test -#include +#include #include "../unit_test_unwarned.hpp" //#include // Needed for implicit calls of operator << on //JODO CLANG // GuestSets via test macros. diff --git a/test/fast_stat_interval_map_/fast_stat_interval_map.cpp b/test/fast_stat_interval_map_/fast_stat_interval_map.cpp index d9fac958..80f24298 100644 --- a/test/fast_stat_interval_map_/fast_stat_interval_map.cpp +++ b/test/fast_stat_interval_map_/fast_stat_interval_map.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2011: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_map unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_icl_interval_/fastest_icl_interval.cpp b/test/fastest_icl_interval_/fastest_icl_interval.cpp index 8a6d7991..1327eb2b 100644 --- a/test/fastest_icl_interval_/fastest_icl_interval.cpp +++ b/test/fastest_icl_interval_/fastest_icl_interval.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_icl_map_/fastest_icl_map.cpp b/test/fastest_icl_map_/fastest_icl_map.cpp index ecd6bc42..8c8c1c43 100644 --- a/test/fastest_icl_map_/fastest_icl_map.cpp +++ b/test/fastest_icl_map_/fastest_icl_map.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::icl_map unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_interval_map_/fastest_interval_map.cpp b/test/fastest_interval_map_/fastest_interval_map.cpp index b1eb616a..f0a98669 100644 --- a/test/fastest_interval_map_/fastest_interval_map.cpp +++ b/test/fastest_interval_map_/fastest_interval_map.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_map unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_interval_map_infix_/fastest_interval_map_infix.cpp b/test/fastest_interval_map_infix_/fastest_interval_map_infix.cpp index d7920658..9ea29f1d 100644 --- a/test/fastest_interval_map_infix_/fastest_interval_map_infix.cpp +++ b/test/fastest_interval_map_infix_/fastest_interval_map_infix.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_map_infix unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed.cpp b/test/fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed.cpp index a4cbcd9e..dfe1c0b7 100644 --- a/test/fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed.cpp +++ b/test/fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_map_infix_mixed unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_interval_map_mixed2_/fastest_interval_map_mixed2.cpp b/test/fastest_interval_map_mixed2_/fastest_interval_map_mixed2.cpp index 072c1050..0c8b7e66 100644 --- a/test/fastest_interval_map_mixed2_/fastest_interval_map_mixed2.cpp +++ b/test/fastest_interval_map_mixed2_/fastest_interval_map_mixed2.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_map_mixed unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp b/test/fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp index fd8972f0..5885fc6d 100644 --- a/test/fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp +++ b/test/fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_map_mixed unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_interval_set_/fastest_interval_set.cpp b/test/fastest_interval_set_/fastest_interval_set.cpp index 874ca863..566e2f16 100644 --- a/test/fastest_interval_set_/fastest_interval_set.cpp +++ b/test/fastest_interval_set_/fastest_interval_set.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_set unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_interval_set_infix_/fastest_interval_set_infix.cpp b/test/fastest_interval_set_infix_/fastest_interval_set_infix.cpp index ede5b5f7..4023ff48 100644 --- a/test/fastest_interval_set_infix_/fastest_interval_set_infix.cpp +++ b/test/fastest_interval_set_infix_/fastest_interval_set_infix.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_set_infix unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp b/test/fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp index 455bcc78..dd0cc864 100644 --- a/test/fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp +++ b/test/fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_set_mixed unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp b/test/fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp index 8ead79f8..a40b5a6e 100644 --- a/test/fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp +++ b/test/fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::partial_icl_quantifier unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp b/test/fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp index 51570bea..7778828b 100644 --- a/test/fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp +++ b/test/fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::partial_interval_quantifier unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_separate_interval_set_/fastest_separate_interval_set.cpp b/test/fastest_separate_interval_set_/fastest_separate_interval_set.cpp index a53cafda..768b92cc 100644 --- a/test/fastest_separate_interval_set_/fastest_separate_interval_set.cpp +++ b/test/fastest_separate_interval_set_/fastest_separate_interval_set.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::separate_interval_set unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_separate_interval_set_infix_/fastest_separate_interval_set_infix.cpp b/test/fastest_separate_interval_set_infix_/fastest_separate_interval_set_infix.cpp index 247b134e..b13d66ea 100644 --- a/test/fastest_separate_interval_set_infix_/fastest_separate_interval_set_infix.cpp +++ b/test/fastest_separate_interval_set_infix_/fastest_separate_interval_set_infix.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::separate_interval_set_infix unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_set_icl_set_/fastest_set_icl_set.cpp b/test/fastest_set_icl_set_/fastest_set_icl_set.cpp index d40d3e7b..8a6ecade 100644 --- a/test/fastest_set_icl_set_/fastest_set_icl_set.cpp +++ b/test/fastest_set_icl_set_/fastest_set_icl_set.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::set_itl_set unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_set_interval_set_/fastest_set_interval_set.cpp b/test/fastest_set_interval_set_/fastest_set_interval_set.cpp index 6f6676e3..7753ccac 100644 --- a/test/fastest_set_interval_set_/fastest_set_interval_set.cpp +++ b/test/fastest_set_interval_set_/fastest_set_interval_set.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::set_interval_set unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_split_interval_map_/fastest_split_interval_map.cpp b/test/fastest_split_interval_map_/fastest_split_interval_map.cpp index 35c335fd..84cdb541 100644 --- a/test/fastest_split_interval_map_/fastest_split_interval_map.cpp +++ b/test/fastest_split_interval_map_/fastest_split_interval_map.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::split_interval_map unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_split_interval_map_infix_/fastest_split_interval_map_infix.cpp b/test/fastest_split_interval_map_infix_/fastest_split_interval_map_infix.cpp index 8f4bd5b9..8ace89e4 100644 --- a/test/fastest_split_interval_map_infix_/fastest_split_interval_map_infix.cpp +++ b/test/fastest_split_interval_map_infix_/fastest_split_interval_map_infix.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::split_interval_map_infix unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_split_interval_set_/fastest_split_interval_set.cpp b/test/fastest_split_interval_set_/fastest_split_interval_set.cpp index 1d034dee..ef6e9d00 100644 --- a/test/fastest_split_interval_set_/fastest_split_interval_set.cpp +++ b/test/fastest_split_interval_set_/fastest_split_interval_set.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::split_interval_set unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_split_interval_set_infix_/fastest_split_interval_set_infix.cpp b/test/fastest_split_interval_set_infix_/fastest_split_interval_set_infix.cpp index 179066bb..86253dc7 100644 --- a/test/fastest_split_interval_set_infix_/fastest_split_interval_set_infix.cpp +++ b/test/fastest_split_interval_set_infix_/fastest_split_interval_set_infix.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::split_interval_set_infix unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp b/test/fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp index 48ba0fdd..da6b8d42 100644 --- a/test/fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp +++ b/test/fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::total_icl_quantifier unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp b/test/fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp index 749d5bf7..ccc405df 100644 --- a/test/fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp +++ b/test/fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::total_interval_quantifier unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/fix_icl_after_thread_/fix_icl_after_thread.cpp b/test/fix_icl_after_thread_/fix_icl_after_thread.cpp index ea4cfa76..3eb83906 100644 --- a/test/fix_icl_after_thread_/fix_icl_after_thread.cpp +++ b/test/fix_icl_after_thread_/fix_icl_after_thread.cpp @@ -6,7 +6,7 @@ Copyright (c) 2011-2011: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::fix_icl_after_thread unit test -#include +#include #include "../unit_test_unwarned.hpp" // #include MEMO: The problem occured when using thread.hpp diff --git a/test/fix_tickets_/fix_tickets.cpp b/test/fix_tickets_/fix_tickets.cpp index ff670467..cb6524c7 100644 --- a/test/fix_tickets_/fix_tickets.cpp +++ b/test/fix_tickets_/fix_tickets.cpp @@ -6,7 +6,7 @@ Copyright (c) 2011-2011: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::fix_icl_after_thread unit test -#include +#include #include "../unit_test_unwarned.hpp" //#define BOOST_ICL_USE_STATIC_BOUNDED_INTERVALS diff --git a/test/test_casual_/test_casual.cpp b/test/test_casual_/test_casual.cpp index 584954b6..be750b6b 100644 --- a/test/test_casual_/test_casual.cpp +++ b/test/test_casual_/test_casual.cpp @@ -9,7 +9,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber #define BOOST_ICL_TEST_CHRONO -#include +#include #include #include diff --git a/test/test_changing_interval_defaults_/test_changing_interval_defaults.cpp b/test/test_changing_interval_defaults_/test_changing_interval_defaults.cpp index 9501436d..21f7c93b 100644 --- a/test/test_changing_interval_defaults_/test_changing_interval_defaults.cpp +++ b/test/test_changing_interval_defaults_/test_changing_interval_defaults.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::test_doc_code unit test -#include +#include #include #include diff --git a/test/test_combinable_/test_combinable.cpp b/test/test_combinable_/test_combinable.cpp index 78607956..132aed35 100644 --- a/test/test_combinable_/test_combinable.cpp +++ b/test/test_combinable_/test_combinable.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::casual unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_doc_code_/test_doc_code.cpp b/test/test_doc_code_/test_doc_code.cpp index 7339a5fc..2b2972f0 100644 --- a/test/test_doc_code_/test_doc_code.cpp +++ b/test/test_doc_code_/test_doc_code.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::test_doc_code unit test -#include +#include #include #include diff --git a/test/test_icl_interval_/test_icl_interval.cpp b/test/test_icl_interval_/test_icl_interval.cpp index fb9db038..7380cf87 100644 --- a/test/test_icl_interval_/test_icl_interval.cpp +++ b/test/test_icl_interval_/test_icl_interval.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_icl_map_/test_icl_map.cpp b/test/test_icl_map_/test_icl_map.cpp index f4334596..6e4af950 100644 --- a/test/test_icl_map_/test_icl_map.cpp +++ b/test/test_icl_map_/test_icl_map.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::icl_map unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_interval_map_/test_interval_map.cpp b/test/test_interval_map_/test_interval_map.cpp index 2b41e8e6..ef7866bc 100644 --- a/test/test_interval_map_/test_interval_map.cpp +++ b/test/test_interval_map_/test_interval_map.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_map unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_interval_map_infix_/test_interval_map_infix.cpp b/test/test_interval_map_infix_/test_interval_map_infix.cpp index b5905350..fae62b0a 100644 --- a/test/test_interval_map_infix_/test_interval_map_infix.cpp +++ b/test/test_interval_map_infix_/test_interval_map_infix.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_map_infix unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_interval_map_infix_mixed_/test_interval_map_infix_mixed.cpp b/test/test_interval_map_infix_mixed_/test_interval_map_infix_mixed.cpp index 3390c16b..c9880332 100644 --- a/test/test_interval_map_infix_mixed_/test_interval_map_infix_mixed.cpp +++ b/test/test_interval_map_infix_mixed_/test_interval_map_infix_mixed.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_map_infix_mixed unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_interval_map_mixed2_/test_interval_map_mixed2.cpp b/test/test_interval_map_mixed2_/test_interval_map_mixed2.cpp index 9b895421..e50b4b53 100644 --- a/test/test_interval_map_mixed2_/test_interval_map_mixed2.cpp +++ b/test/test_interval_map_mixed2_/test_interval_map_mixed2.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_map_mixed unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_interval_map_mixed_/test_interval_map_mixed.cpp b/test/test_interval_map_mixed_/test_interval_map_mixed.cpp index 55bac53a..d689b13c 100644 --- a/test/test_interval_map_mixed_/test_interval_map_mixed.cpp +++ b/test/test_interval_map_mixed_/test_interval_map_mixed.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_map_mixed unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_interval_set_/test_interval_set.cpp b/test/test_interval_set_/test_interval_set.cpp index c2ee2ea3..c1ec330e 100644 --- a/test/test_interval_set_/test_interval_set.cpp +++ b/test/test_interval_set_/test_interval_set.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_set unit test -#include +#include #include #include #include diff --git a/test/test_interval_set_infix_/test_interval_set_infix.cpp b/test/test_interval_set_infix_/test_interval_set_infix.cpp index 8ef0eca6..ad0170a5 100644 --- a/test/test_interval_set_infix_/test_interval_set_infix.cpp +++ b/test/test_interval_set_infix_/test_interval_set_infix.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_set_infix unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_interval_set_mixed_/test_interval_set_mixed.cpp b/test/test_interval_set_mixed_/test_interval_set_mixed.cpp index 04a77151..bdb88b43 100644 --- a/test/test_interval_set_mixed_/test_interval_set_mixed.cpp +++ b/test/test_interval_set_mixed_/test_interval_set_mixed.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::interval_set_mixed unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_misc_/test_misc.cpp b/test/test_misc_/test_misc.cpp index 8d3961a7..c48865fc 100644 --- a/test/test_misc_/test_misc.cpp +++ b/test/test_misc_/test_misc.cpp @@ -9,7 +9,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber #define BOOST_ICL_TEST_CHRONO -#include +#include #include #include #include diff --git a/test/test_partial_icl_quantifier_/test_partial_icl_quantifier.cpp b/test/test_partial_icl_quantifier_/test_partial_icl_quantifier.cpp index 68d022b8..64d00a19 100644 --- a/test/test_partial_icl_quantifier_/test_partial_icl_quantifier.cpp +++ b/test/test_partial_icl_quantifier_/test_partial_icl_quantifier.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::partial_icl_quantifier unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_partial_interval_quantifier_/test_partial_interval_quantifier.cpp b/test/test_partial_interval_quantifier_/test_partial_interval_quantifier.cpp index 72888643..435703a0 100644 --- a/test/test_partial_interval_quantifier_/test_partial_interval_quantifier.cpp +++ b/test/test_partial_interval_quantifier_/test_partial_interval_quantifier.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::partial_interval_quantifier unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_separate_interval_set_/test_separate_interval_set.cpp b/test/test_separate_interval_set_/test_separate_interval_set.cpp index 0d868d16..e0fa9f6f 100644 --- a/test/test_separate_interval_set_/test_separate_interval_set.cpp +++ b/test/test_separate_interval_set_/test_separate_interval_set.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::separate_interval_set unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_separate_interval_set_infix_/test_separate_interval_set_infix.cpp b/test/test_separate_interval_set_infix_/test_separate_interval_set_infix.cpp index 445b5750..e8571733 100644 --- a/test/test_separate_interval_set_infix_/test_separate_interval_set_infix.cpp +++ b/test/test_separate_interval_set_infix_/test_separate_interval_set_infix.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::separate_interval_set_infix unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_set_icl_set_/test_set_icl_set.cpp b/test/test_set_icl_set_/test_set_icl_set.cpp index 66102860..8812950d 100644 --- a/test/test_set_icl_set_/test_set_icl_set.cpp +++ b/test/test_set_icl_set_/test_set_icl_set.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::set_itl_set unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_set_interval_set_/test_set_interval_set.cpp b/test/test_set_interval_set_/test_set_interval_set.cpp index abb05ef5..2a14de84 100644 --- a/test/test_set_interval_set_/test_set_interval_set.cpp +++ b/test/test_set_interval_set_/test_set_interval_set.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::set_interval_set unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_split_interval_map_/test_split_interval_map.cpp b/test/test_split_interval_map_/test_split_interval_map.cpp index 74b49d14..2cc04e73 100644 --- a/test/test_split_interval_map_/test_split_interval_map.cpp +++ b/test/test_split_interval_map_/test_split_interval_map.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::split_interval_map unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_split_interval_map_infix_/test_split_interval_map_infix.cpp b/test/test_split_interval_map_infix_/test_split_interval_map_infix.cpp index 13ac486e..4e9a225c 100644 --- a/test/test_split_interval_map_infix_/test_split_interval_map_infix.cpp +++ b/test/test_split_interval_map_infix_/test_split_interval_map_infix.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::split_interval_map_infix unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_split_interval_set_/test_split_interval_set.cpp b/test/test_split_interval_set_/test_split_interval_set.cpp index d1e20ceb..fea257ad 100644 --- a/test/test_split_interval_set_/test_split_interval_set.cpp +++ b/test/test_split_interval_set_/test_split_interval_set.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::split_interval_set unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_split_interval_set_infix_/test_split_interval_set_infix.cpp b/test/test_split_interval_set_infix_/test_split_interval_set_infix.cpp index fe73987e..90550f26 100644 --- a/test/test_split_interval_set_infix_/test_split_interval_set_infix.cpp +++ b/test/test_split_interval_set_infix_/test_split_interval_set_infix.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::split_interval_set_infix unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_total_icl_quantifier_/test_total_icl_quantifier.cpp b/test/test_total_icl_quantifier_/test_total_icl_quantifier.cpp index 95d2758a..ea006775 100644 --- a/test/test_total_icl_quantifier_/test_total_icl_quantifier.cpp +++ b/test/test_total_icl_quantifier_/test_total_icl_quantifier.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::total_icl_quantifier unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_total_interval_quantifier_/test_total_interval_quantifier.cpp b/test/test_total_interval_quantifier_/test_total_interval_quantifier.cpp index 3312785d..a98c04c0 100644 --- a/test/test_total_interval_quantifier_/test_total_interval_quantifier.cpp +++ b/test/test_total_interval_quantifier_/test_total_interval_quantifier.cpp @@ -6,7 +6,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::total_interval_quantifier unit test -#include +#include #include #include #include "../unit_test_unwarned.hpp" diff --git a/test/test_type_lists.hpp b/test/test_type_lists.hpp index 78e6df3c..46c6ad40 100644 --- a/test/test_type_lists.hpp +++ b/test/test_type_lists.hpp @@ -23,7 +23,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber #ifdef BOOST_ICL_TEST_CHRONO # define BOOST_CHRONO_EXTENSIONS -# include +# include namespace boch = boost::chrono; #endif diff --git a/test/test_type_traits_/test_type_traits.cpp b/test/test_type_traits_/test_type_traits.cpp index b24c6d22..5abe1962 100644 --- a/test/test_type_traits_/test_type_traits.cpp +++ b/test/test_type_traits_/test_type_traits.cpp @@ -7,7 +7,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber +-----------------------------------------------------------------------------*/ #define BOOST_TEST_MODULE icl::test_type_traits unit test -#include +#include #include #include #include From f26535095be9b2450f3b67f945366c7cb84090a0 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 29 Mar 2024 21:15:59 -0500 Subject: [PATCH 02/14] Switch to library requirements instead of source. As source puts extra source in install targets. --- build.jam | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/build.jam b/build.jam index 1981a6ec..149e9f94 100644 --- a/build.jam +++ b/build.jam @@ -7,21 +7,21 @@ import project ; project /boost/icl : common-requirements - /boost/assert//boost_assert - /boost/concept_check//boost_concept_check - /boost/config//boost_config - /boost/container//boost_container - /boost/core//boost_core - /boost/date_time//boost_date_time - /boost/detail//boost_detail - /boost/iterator//boost_iterator - /boost/move//boost_move - /boost/mpl//boost_mpl - /boost/range//boost_range - /boost/rational//boost_rational - /boost/static_assert//boost_static_assert - /boost/type_traits//boost_type_traits - /boost/utility//boost_utility + /boost/assert//boost_assert + /boost/concept_check//boost_concept_check + /boost/config//boost_config + /boost/container//boost_container + /boost/core//boost_core + /boost/date_time//boost_date_time + /boost/detail//boost_detail + /boost/iterator//boost_iterator + /boost/move//boost_move + /boost/mpl//boost_mpl + /boost/range//boost_range + /boost/rational//boost_rational + /boost/static_assert//boost_static_assert + /boost/type_traits//boost_type_traits + /boost/utility//boost_utility include ; From 10a57af35ee8a75e5de759a5df9cf76cdde53697 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 09:00:01 -0500 Subject: [PATCH 03/14] 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 149e9f94..a69dfe1a 100644 --- a/build.jam +++ b/build.jam @@ -3,6 +3,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 ; project /boost/icl From 39a8cebabcda6cd9d4791afd9b28c194eb05bf53 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 14 Jun 2024 11:33:55 -0500 Subject: [PATCH 04/14] Bump B2 require to 5.2 --- build.jam | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/build.jam b/build.jam index a69dfe1a..f58490b6 100644 --- a/build.jam +++ b/build.jam @@ -3,9 +3,7 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -require-b2 5.1 ; - -import project ; +require-b2 5.2 ; project /boost/icl : common-requirements From 86d764c137b88ec2753a4e73890b2a0cdfee9724 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 22:52:04 -0500 Subject: [PATCH 05/14] Update copyright dates. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index f58490b6..39ce9afd 100644 --- a/build.jam +++ b/build.jam @@ -1,4 +1,4 @@ -# Copyright René Ferdinand Rivera Morell 2023 +# Copyright René Ferdinand Rivera Morell 2023-2024 # 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) From 3379d849605cbfbbab300214aa003facb65ba71a Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 23 Jul 2024 22:34:23 -0500 Subject: [PATCH 06/14] Move inter-lib dependencies to a project variable and into the build targets. --- build.jam | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/build.jam b/build.jam index 39ce9afd..f98737ce 100644 --- a/build.jam +++ b/build.jam @@ -5,28 +5,30 @@ require-b2 5.2 ; +constant boost_dependencies : + /boost/assert//boost_assert + /boost/concept_check//boost_concept_check + /boost/config//boost_config + /boost/container//boost_container + /boost/core//boost_core + /boost/date_time//boost_date_time + /boost/detail//boost_detail + /boost/iterator//boost_iterator + /boost/move//boost_move + /boost/mpl//boost_mpl + /boost/range//boost_range + /boost/rational//boost_rational + /boost/static_assert//boost_static_assert + /boost/type_traits//boost_type_traits + /boost/utility//boost_utility ; + project /boost/icl : common-requirements - /boost/assert//boost_assert - /boost/concept_check//boost_concept_check - /boost/config//boost_config - /boost/container//boost_container - /boost/core//boost_core - /boost/date_time//boost_date_time - /boost/detail//boost_detail - /boost/iterator//boost_iterator - /boost/move//boost_move - /boost/mpl//boost_mpl - /boost/range//boost_range - /boost/rational//boost_rational - /boost/static_assert//boost_static_assert - /boost/type_traits//boost_type_traits - /boost/utility//boost_utility include ; explicit - [ alias boost_icl ] + [ alias boost_icl : : : : $(boost_dependencies) ] [ alias all : boost_icl example example/boost_party_ example/custom_interval_ example/partys_height_average_ example/partys_tallest_guests_ @@ -35,3 +37,4 @@ explicit call-if : boost-library icl ; + From 6b19ae67bc5d82da45efdba6d070e1806752643f Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 28 Jul 2024 10:58:26 -0500 Subject: [PATCH 07/14] Adjust doc build to avoid boost-root references. --- doc/Jamfile.v2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index 604371d2..fa223bb1 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -16,7 +16,7 @@ import quickbook ; doxygen icldoc : - [ glob ../../../boost/icl/*.hpp ] + [ glob ../include/boost/icl/*.hpp ] : EXTRACT_ALL=NO HIDE_UNDOC_MEMBERS=YES From 8804d2c6a717b3dc560df9154db274e475264167 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 3 Aug 2024 15:25:19 -0500 Subject: [PATCH 08/14] Update build deps. --- example/Jamfile.v2 | 2 + test/Jamfile.v2 | 95 +++++++++++++++++++++++----------------------- 2 files changed, 50 insertions(+), 47 deletions(-) diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index a89da91c..90ab1b33 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -2,6 +2,8 @@ # 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) +project : requirements /boost/icl//boost_icl ; + # Examples that do not use boost_date_time exe interval : diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 0c0c43b9..ab50dd55 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -8,6 +8,7 @@ import feature ; project : requirements + /boost/icl//boost_icl /boost/test//boost_unit_test_framework /boost/chrono//boost_chrono static @@ -15,31 +16,31 @@ project ; test-suite "itl" - : + : # interval [ run fastest_icl_interval_/fastest_icl_interval.cpp ] - + # sets [ run fastest_interval_set_/fastest_interval_set.cpp ] [ run fastest_interval_set_infix_/fastest_interval_set_infix.cpp ] - + [ run fastest_separate_interval_set_/fastest_separate_interval_set.cpp ] [ run fastest_separate_interval_set_infix_/fastest_separate_interval_set_infix.cpp ] - + [ run fastest_split_interval_set_/fastest_split_interval_set.cpp ] [ run fastest_split_interval_set_infix_/fastest_split_interval_set_infix.cpp ] - + [ run fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp ] - + # maps [ run fastest_interval_map_/fastest_interval_map.cpp ] - - [ run fast_stat_interval_map_/fast_stat_interval_map.cpp + + [ run fast_stat_interval_map_/fast_stat_interval_map.cpp : : : : interval_map_right_open ] - [ run fast_stat_interval_map_/fast_stat_interval_map.cpp + [ run fast_stat_interval_map_/fast_stat_interval_map.cpp : : : BOOST_ICL_CONTINUOUS_STATIC_INTERVAL_DEFAULT=left_open_interval : interval_map_left_open ] - + [ run fastest_interval_map_infix_/fastest_interval_map_infix.cpp ] [ run fastest_split_interval_map_/fastest_split_interval_map.cpp ] [ run fastest_split_interval_map_infix_/fastest_split_interval_map_infix.cpp ] @@ -52,31 +53,31 @@ test-suite "itl" # Concept Set [ run fastest_set_interval_set_/fastest_set_interval_set.cpp ] [ run fastest_set_icl_set_/fastest_set_icl_set.cpp ] - - # Concept Map + + # Concept Map [ run fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp ] - [ run fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp ] + [ run fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp ] [ run fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp ] - [ run fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp ] - - # Misc ------------------------------------------------------------------- - [ run test_misc_/test_misc.cpp ] - [ run test_doc_code_/test_doc_code.cpp ] - [ run test_type_traits_/test_type_traits.cpp ] + [ run fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp ] + + # Misc ------------------------------------------------------------------- + [ run test_misc_/test_misc.cpp ] + [ run test_doc_code_/test_doc_code.cpp ] + [ run test_type_traits_/test_type_traits.cpp ] # test_combinable is too slow or too large for some compilers - #[ run test_combinable_/test_combinable.cpp ] - [ run test_changing_interval_defaults_/test_changing_interval_defaults.cpp ] - + #[ run test_combinable_/test_combinable.cpp ] + [ run test_changing_interval_defaults_/test_changing_interval_defaults.cpp ] + # Bug fixes -------------------------------------------------------------- - [ run fix_icl_after_thread_/fix_icl_after_thread.cpp ] - [ run fix_tickets_/fix_tickets.cpp ] - + [ run fix_icl_after_thread_/fix_icl_after_thread.cpp ] + [ run fix_tickets_/fix_tickets.cpp ] + # Check for compiler bugs ------------------------------------------------ - # compile-fail-tests - [ run cmp_msvc_value_born_error_/cmp_msvc_value_born_error.cpp ] - [ run cmp_clang_ttp_passing_/cmp_clang_ttp_passing.cpp ] + # compile-fail-tests + [ run cmp_msvc_value_born_error_/cmp_msvc_value_born_error.cpp ] + [ run cmp_clang_ttp_passing_/cmp_clang_ttp_passing.cpp ] [ run cmp_clang_ttp_passing2_/cmp_clang_ttp_passing2.cpp ] - + # Examples --------------------------------------------------------------- [ run ex_boost_party_/ex_boost_party.cpp ] @@ -87,74 +88,74 @@ test-suite "itl" # ======================================================================== # Chrono ----------------------------------------------------------------- # interval - [ run fastest_icl_interval_/fastest_icl_interval.cpp + [ run fastest_icl_interval_/fastest_icl_interval.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_icl_interval ] # sets - [ run fastest_interval_set_/fastest_interval_set.cpp + [ run fastest_interval_set_/fastest_interval_set.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_interval_set ] - + [ run fastest_interval_set_infix_/fastest_interval_set_infix.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_interval_set_infix ] - + [ run fastest_interval_set_mixed_/fastest_interval_set_mixed.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_interval_set_mixed ] - + # maps - [ run fastest_interval_map_/fastest_interval_map.cpp + [ run fastest_interval_map_/fastest_interval_map.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_interval_map ] [ run fastest_interval_map_infix_/fastest_interval_map_infix.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_interval_map_infix ] - + [ run fastest_interval_map_mixed_/fastest_interval_map_mixed.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_interval_map_mixed ] - + [ run fastest_interval_map_mixed2_/fastest_interval_map_mixed2.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_interval_map_mixed2 ] - + [ run fastest_interval_map_infix_mixed_/fastest_interval_map_infix_mixed.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_interval_map_infix_mixed ] - + [ run fastest_icl_map_/fastest_icl_map.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_icl_map ] - + # handcoded tests using laws (not LaBatea) ------------------------------- # Concept Set [ run fastest_set_interval_set_/fastest_set_interval_set.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_set_interval_set ] - + [ run fastest_set_icl_set_/fastest_set_icl_set.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_set_icl_set ] - - # Concept Map + + # Concept Map [ run fastest_partial_interval_quantifier_/fastest_partial_interval_quantifier.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_partial_interval_quantifier ] - + [ run fastest_total_interval_quantifier_/fastest_total_interval_quantifier.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_total_interval_quantifier ] - + [ run fastest_partial_icl_quantifier_/fastest_partial_icl_quantifier.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_partial_icl_quantifier ] - + [ run fastest_total_icl_quantifier_/fastest_total_icl_quantifier.cpp : : : BOOST_ICL_TEST_CHRONO : chrono_total_icl_quantifier ] - + ; From b21dc786e7774e4befb05dddf1db8474fecc7247 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 6 Apr 2025 09:46:34 -0500 Subject: [PATCH 09/14] Replace GHA CI with simpler working one based on alandefreitas/cpp-actions utilities. --- .github/workflows/ci.yml | 330 ++++++++++++--------------------------- 1 file changed, 102 insertions(+), 228 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed93f83b..5bb22416 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,241 +12,115 @@ on: - pr/** jobs: - posix: + cpp-matrix: + runs-on: ubuntu-latest + name: Generate Test Matrix + outputs: + matrix: ${{ steps.cpp-matrix.outputs.matrix }} + steps: + - name: Generate Test Matrix + uses: alandefreitas/cpp-actions/cpp-matrix@master + id: cpp-matrix + with: + extra-values: | + boost-lib: icl + scan-dirs: test + compilers: | + gcc >= 4.8 + clang >= 3.5 + msvc >= 14.1 + apple-clang * + mingw * + clang-cl * + standards: ">=11" + latest-factors: | + gcc Asan TSan UBSan + clang BoundsSan IntSan + factors: | + gcc Shared + msvc Shared x86 + mingw Shared + subrange-policy: one-per-minor + trace-commands: true + build: + needs: cpp-matrix strategy: fail-fast: false matrix: - include: - - name: "TOOLSET=gcc CXXSTD=11 Job 0" - buildtype: "boost" - packages: "" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "g++" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc" - cxxstd: "11" - - name: "TOOLSET=gcc-5 CXXSTD=11,14,1z Job 1" - buildtype: "boost" - packages: "g++-5" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "g++-5" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc-5" - cxxstd: "11,14,1z" - - name: "TOOLSET=gcc-6 CXXSTD=11,14,1z Job 2" - buildtype: "boost" - packages: "g++-6" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "g++-6" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc-6" - cxxstd: "11,14,1z" - - name: "TOOLSET=gcc-7 CXXSTD=11,14,17 Job 3" - buildtype: "boost" - packages: "g++-7" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "g++-7" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "gcc-7" - cxxstd: "11,14,17" - - name: "TOOLSET=clang CXXSTD=11,14,1z Job 4" - buildtype: "boost" - packages: "libstdc++-4.9-dev clang" - packages_to_remove: "" - os: "ubuntu-20.04" - container: "ubuntu:16.04" - cxx: "clang++" - sources: "" - llvm_os: "" - llvm_ver: "" - toolset: "clang" - cxxstd: "11,14,1z" + include: ${{ fromJSON(needs.cpp-matrix.outputs.matrix) }} - runs-on: ${{ matrix.os }} + # use matrix entries + name: ${{ matrix.name }} + runs-on: ${{ matrix.runs-on }} container: ${{ matrix.container }} steps: - - name: Check if running in container - if: matrix.container != '' - run: echo "GHA_CONTAINER=${{ matrix.container }}" >> $GITHUB_ENV - - name: If running in container, upgrade packages - if: matrix.container != '' + # GitHub Actions no longer support older containers. + # The workaround is to install our own Node.js for the actions. + - name: Patch Node + # The containers that need Node.js 20 will have volumes set up so that + # the Node.js 20 installation can go there. + if: ${{ matrix.container.volumes }} run: | - apt-get -o Acquire::Retries=3 update && DEBIAN_FRONTEND=noninteractive apt-get -y install tzdata && apt-get -o Acquire::Retries=3 install -y sudo software-properties-common wget curl apt-transport-https make apt-file sudo unzip libssl-dev build-essential autotools-dev autoconf automake g++ libc++-helpers python ruby cpio gcc-multilib g++-multilib pkgconf python3 ccache libpython-dev - sudo apt-add-repository ppa:git-core/ppa - sudo apt-get -o Acquire::Retries=3 update && apt-get -o Acquire::Retries=3 -y install git - python_version=$(python3 -c 'import sys; print("{0.major}.{0.minor}".format(sys.version_info))') - sudo wget https://bootstrap.pypa.io/pip/$python_version/get-pip.py - sudo python3 get-pip.py - sudo /usr/local/bin/pip install cmake - - - uses: actions/checkout@v2 - - - name: linux - shell: bash - env: - CXX: ${{ matrix.cxx }} - SOURCES: ${{ matrix.sources }} - LLVM_OS: ${{ matrix.llvm_os }} - LLVM_VER: ${{ matrix.llvm_ver }} - PACKAGES: ${{ matrix.packages }} - PACKAGES_TO_REMOVE: ${{ matrix.packages_to_remove }} - JOB_BUILDTYPE: ${{ matrix.buildtype }} - TOOLSET: ${{ matrix.toolset }} - CXXSTD: ${{ matrix.cxxstd }} - TRAVIS_BRANCH: ${{ github.base_ref }} - TRAVIS_OS_NAME: "linux" - run: | - echo '==================================> SETUP' - echo '==================================> PACKAGES' - set -e - if [ -n "$PACKAGES_TO_REMOVE" ]; then sudo apt-get purge -y $PACKAGES_TO_REMOVE; fi - echo ">>>>> APT: REPO.." - for i in {1..3}; do sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" && break || sleep 2; done - - if test -n "${LLVM_OS}" ; then - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - - if test -n "${LLVM_VER}" ; then - sudo -E apt-add-repository "deb http://apt.llvm.org/${LLVM_OS}/ llvm-toolchain-${LLVM_OS}-${LLVM_VER} main" - else - # Snapshot (i.e. trunk) build of clang - sudo -E apt-add-repository "deb http://apt.llvm.org/${LLVM_OS}/ llvm-toolchain-${LLVM_OS} main" - fi - fi - echo ">>>>> APT: UPDATE.." - sudo -E apt-get -o Acquire::Retries=3 update - if test -n "${SOURCES}" ; then - echo ">>>>> APT: INSTALL SOURCES.." - for SOURCE in $SOURCES; do - sudo -E apt-add-repository ppa:$SOURCE - done - fi - echo ">>>>> APT: INSTALL ${PACKAGES}.." - sudo -E DEBIAN_FRONTEND=noninteractive apt-get -o Acquire::Retries=3 -y --no-install-suggests --no-install-recommends install ${PACKAGES} - - echo '==================================> INSTALL AND COMPILE' - set -e - export TRAVIS_BUILD_DIR=$(pwd) - export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')} - export VCS_COMMIT_ID=$GITHUB_SHA - export GIT_COMMIT=$GITHUB_SHA - export REPO_NAME=$(basename $GITHUB_REPOSITORY) - export USER=$(whoami) - export CC=${CC:-gcc} - export PATH=~/.local/bin:/usr/local/bin:$PATH - - if [ "$JOB_BUILDTYPE" == "boost" ]; then - - echo '==================================> INSTALL' - - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true - cd .. - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root - cd boost-root - git submodule update --init tools/build - git submodule update --init libs/config - git submodule update --init tools/boostdep - cp -r $TRAVIS_BUILD_DIR/* libs/icl - python tools/boostdep/depinst/depinst.py icl - ./bootstrap.sh - ./b2 headers - - echo '==================================> SCRIPT' - - ./b2 -j 3 libs/icl/test toolset=$TOOLSET cxxstd=$CXXSTD - - fi - osx: - strategy: - fail-fast: false - matrix: - include: - - name: "TOOLSET=clang CXXSTD=11,14,1z Job 5" - buildtype: "boost" - packages: "" - os: "macos-11" - cxx: "clang++" - sources: "" - llvm_os: "" - llvm_ver: "" - xcode_version: 11.7 - toolset: "clang" - cxxstd: "11,14,1z" - - runs-on: ${{ matrix.os }} - - steps: - - uses: actions/checkout@v2 - - - name: Set DEVELOPER_DIR - if: matrix.xcode_version != '' - run: echo "DEVELOPER_DIR=/Applications/Xcode_${{ matrix.xcode_version }}.app/Contents/Developer" >> $GITHUB_ENV - - name: Test DEVELOPER_DIR - run: echo $DEVELOPER_DIR - - - name: "osx" + set -x + apt-get update + apt-get install -y curl xz-utils + curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz + tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217 + ldd /__e/node20/bin/node + + - name: Setup C++ Compiler + uses: alandefreitas/cpp-actions/setup-cpp@master + id: setup-cpp + with: + compiler: ${{ matrix.compiler }} + version: ${{ matrix.version }} + + - name: Install Packages + if: matrix.install != '' + uses: alandefreitas/cpp-actions/package-install@master + id: package-install + with: + apt-get: ${{ matrix.install }} + + - name: Clone Library + uses: actions/checkout@v4 + + - name: Clone Boost + uses: alandefreitas/cpp-actions/boost-clone@master + id: boost-clone + with: + branch: ${{ (github.ref_name == 'master' && github.ref_name) || 'develop' }} + boost-dir: ../boost-root + scan-modules-dir: . + scan-modules-ignore: ${{ matrix.boost-lib }} + modules-scan-paths: ${{ matrix.scan-dirs }} + cache: false + + - name: Copy Library shell: bash - env: - CXX: ${{ matrix.cxx }} - SOURCES: ${{ matrix.sources }} - LLVM_OS: ${{ matrix.llvm_os }} - LLVM_VER: ${{ matrix.llvm_ver }} - PACKAGES: ${{ matrix.packages }} - JOB_BUILDTYPE: ${{ matrix.buildtype }} - TOOLSET: ${{ matrix.toolset }} - CXXSTD: ${{ matrix.cxxstd }} - TRAVIS_BRANCH: ${{ github.base_ref }} - TRAVIS_OS_NAME: "osx" run: | - echo '==================================> SETUP' - set -e - sudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools.bck - echo '==================================> PACKAGES' - echo '==================================> INSTALL AND COMPILE' - set -e - export TRAVIS_BUILD_DIR=$(pwd) - export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')} - export VCS_COMMIT_ID=$GITHUB_SHA - export GIT_COMMIT=$GITHUB_SHA - export REPO_NAME=$(basename $GITHUB_REPOSITORY) - export USER=$(whoami) - export CC=${CC:-gcc} - export PATH=~/.local/bin:/usr/local/bin:$PATH - - if [ "$JOB_BUILDTYPE" == "boost" ]; then - - echo '==================================> INSTALL' - - BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true - cd .. - git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root - cd boost-root - git submodule update --init tools/build - git submodule update --init libs/config - git submodule update --init tools/boostdep - cp -r $TRAVIS_BUILD_DIR/* libs/icl - python tools/boostdep/depinst/depinst.py icl - ./bootstrap.sh - ./b2 headers - - echo '==================================> SCRIPT' - - ./b2 -j 3 libs/icl/test toolset=$TOOLSET cxxstd=$CXXSTD - - fi + workspace_root=$(echo "$GITHUB_WORKSPACE" | sed 's/\\/\//g') + cd ../boost-root + rm -rf "libs/${{ matrix.boost-lib }}" + mkdir "libs/${{ matrix.boost-lib }}" + cp -r "$workspace_root"/* "libs/${{ matrix.boost-lib }}" + + - name: B2 Workflow + uses: alandefreitas/cpp-actions/b2-workflow@master + with: + source-dir: ${{ steps.boost-clone.outputs.boost-dir }} + modules: ${{ matrix.boost-lib }} + toolset: ${{ matrix.b2-toolset }} + build-variant: ${{ matrix.build-type }} + cxx: ${{ steps.setup-cpp.outputs.cxx || '' }} + cxxstd: ${{ matrix.cxxstd }} + address-model: ${{ matrix.address-model }} + asan: ${{ matrix.asan }} + ubsan: ${{ matrix.ubsan }} + tsan: ${{ matrix.tsan }} + shared: ${{ matrix.shared }} + abbreviate-paths: false + hash: true + debug-configuration: true + trace-commands: true From 7d89ec410a0c70f8bc11c685ab70f81abe9a2c6b Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 7 Apr 2025 17:33:07 -0500 Subject: [PATCH 10/14] Move project global include to target local include. --- build.jam | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/build.jam b/build.jam index f98737ce..455518c2 100644 --- a/build.jam +++ b/build.jam @@ -23,12 +23,11 @@ constant boost_dependencies : /boost/utility//boost_utility ; project /boost/icl - : common-requirements - include ; explicit - [ alias boost_icl : : : : $(boost_dependencies) ] + [ alias boost_icl : : : + : include $(boost_dependencies) ] [ alias all : boost_icl example example/boost_party_ example/custom_interval_ example/partys_height_average_ example/partys_tallest_guests_ From a4251f4334c7dc7f53a22cdb0ae5e12b5a101b00 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Wed, 9 Apr 2025 23:04:16 -0500 Subject: [PATCH 11/14] Only msvc gets minor version tests. --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5bb22416..b2ac4055 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,7 +40,8 @@ jobs: gcc Shared msvc Shared x86 mingw Shared - subrange-policy: one-per-minor + subrange-policy: | + msvc: one-per-minor trace-commands: true build: needs: cpp-matrix From 584167d0e06128097f153262ab2bfad6d6267845 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 6 Jun 2025 21:02:16 -0500 Subject: [PATCH 12/14] Redo GHA CI to undo move to cpp-actions. --- .github/workflows/ci.yml | 302 ++++++++++++++++++++++++++------------- 1 file changed, 203 insertions(+), 99 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b2ac4055..dfa50a6d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,116 +12,220 @@ on: - pr/** jobs: - cpp-matrix: - runs-on: ubuntu-latest - name: Generate Test Matrix - outputs: - matrix: ${{ steps.cpp-matrix.outputs.matrix }} - steps: - - name: Generate Test Matrix - uses: alandefreitas/cpp-actions/cpp-matrix@master - id: cpp-matrix - with: - extra-values: | - boost-lib: icl - scan-dirs: test - compilers: | - gcc >= 4.8 - clang >= 3.5 - msvc >= 14.1 - apple-clang * - mingw * - clang-cl * - standards: ">=11" - latest-factors: | - gcc Asan TSan UBSan - clang BoundsSan IntSan - factors: | - gcc Shared - msvc Shared x86 - mingw Shared - subrange-policy: | - msvc: one-per-minor - trace-commands: true - build: - needs: cpp-matrix + posix: strategy: fail-fast: false matrix: - include: ${{ fromJSON(needs.cpp-matrix.outputs.matrix) }} + include: + - name: "TOOLSET=gcc CXXSTD=11 Job 0" + buildtype: "boost" + packages: "" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "g++" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc" + cxxstd: "11" + - name: "TOOLSET=gcc-5 CXXSTD=11,14,1z Job 1" + buildtype: "boost" + packages: "g++-5" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "g++-5" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc-5" + cxxstd: "11,14,1z" + - name: "TOOLSET=gcc-6 CXXSTD=11,14,1z Job 2" + buildtype: "boost" + packages: "g++-6" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "g++-6" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc-6" + cxxstd: "11,14,1z" + - name: "TOOLSET=gcc-7 CXXSTD=11,14,17 Job 3" + buildtype: "boost" + packages: "g++-7" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "g++-7" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "gcc-7" + cxxstd: "11,14,17" + - name: "TOOLSET=clang CXXSTD=11,14,1z Job 4" + buildtype: "boost" + packages: "libstdc++-4.9-dev clang" + packages_to_remove: "" + os: "ubuntu-latest" + container: "ubuntu:16.04" + cxx: "clang++" + sources: "" + llvm_os: "" + llvm_ver: "" + toolset: "clang" + cxxstd: "11,14,1z" - # use matrix entries - name: ${{ matrix.name }} - runs-on: ${{ matrix.runs-on }} - container: ${{ matrix.container }} + runs-on: ${{ matrix.os }} + container: + image: ${{matrix.container}} + volumes: + - /node20217:/node20217:rw,rshared + - ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }} steps: - # GitHub Actions no longer support older containers. - # The workaround is to install our own Node.js for the actions. - - name: Patch Node - # The containers that need Node.js 20 will have volumes set up so that - # the Node.js 20 installation can go there. - if: ${{ matrix.container.volumes }} + - name: Setup container environment + if: matrix.container run: | - set -x apt-get update - apt-get install -y curl xz-utils + apt-get -y install sudo python3 git g++ curl xz-utils + + - name: Install nodejs20glibc2.17 + if: ${{ startsWith( matrix.container, 'ubuntu:1' ) }} + run: | curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217 ldd /__e/node20/bin/node - - name: Setup C++ Compiler - uses: alandefreitas/cpp-actions/setup-cpp@master - id: setup-cpp - with: - compiler: ${{ matrix.compiler }} - version: ${{ matrix.version }} - - - name: Install Packages - if: matrix.install != '' - uses: alandefreitas/cpp-actions/package-install@master - id: package-install - with: - apt-get: ${{ matrix.install }} - - - name: Clone Library - uses: actions/checkout@v4 - - - name: Clone Boost - uses: alandefreitas/cpp-actions/boost-clone@master - id: boost-clone - with: - branch: ${{ (github.ref_name == 'master' && github.ref_name) || 'develop' }} - boost-dir: ../boost-root - scan-modules-dir: . - scan-modules-ignore: ${{ matrix.boost-lib }} - modules-scan-paths: ${{ matrix.scan-dirs }} - cache: false - - - name: Copy Library + - name: Install packages + if: matrix.packages + run: sudo apt-get -y install ${{matrix.packages}} + + - uses: actions/checkout@v2 + + - name: linux shell: bash + env: + CXX: ${{ matrix.cxx }} + SOURCES: ${{ matrix.sources }} + LLVM_OS: ${{ matrix.llvm_os }} + LLVM_VER: ${{ matrix.llvm_ver }} + PACKAGES: ${{ matrix.packages }} + PACKAGES_TO_REMOVE: ${{ matrix.packages_to_remove }} + JOB_BUILDTYPE: ${{ matrix.buildtype }} + TOOLSET: ${{ matrix.toolset }} + CXXSTD: ${{ matrix.cxxstd }} + TRAVIS_BRANCH: ${{ github.base_ref }} + TRAVIS_OS_NAME: "linux" run: | - workspace_root=$(echo "$GITHUB_WORKSPACE" | sed 's/\\/\//g') - cd ../boost-root - rm -rf "libs/${{ matrix.boost-lib }}" - mkdir "libs/${{ matrix.boost-lib }}" - cp -r "$workspace_root"/* "libs/${{ matrix.boost-lib }}" - - - name: B2 Workflow - uses: alandefreitas/cpp-actions/b2-workflow@master - with: - source-dir: ${{ steps.boost-clone.outputs.boost-dir }} - modules: ${{ matrix.boost-lib }} - toolset: ${{ matrix.b2-toolset }} - build-variant: ${{ matrix.build-type }} - cxx: ${{ steps.setup-cpp.outputs.cxx || '' }} - cxxstd: ${{ matrix.cxxstd }} - address-model: ${{ matrix.address-model }} - asan: ${{ matrix.asan }} - ubsan: ${{ matrix.ubsan }} - tsan: ${{ matrix.tsan }} - shared: ${{ matrix.shared }} - abbreviate-paths: false - hash: true - debug-configuration: true - trace-commands: true + echo '==================================> SETUP' + echo '==================================> PACKAGES' + set -e + if [ -n "$PACKAGES_TO_REMOVE" ]; then sudo apt-get purge -y $PACKAGES_TO_REMOVE; fi + + echo '==================================> INSTALL AND COMPILE' + set -e + export TRAVIS_BUILD_DIR=$(pwd) + export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')} + export VCS_COMMIT_ID=$GITHUB_SHA + export GIT_COMMIT=$GITHUB_SHA + export REPO_NAME=$(basename $GITHUB_REPOSITORY) + export USER=$(whoami) + export CC=${CC:-gcc} + export PATH=~/.local/bin:/usr/local/bin:$PATH + + if [ "$JOB_BUILDTYPE" == "boost" ]; then + + echo '==================================> INSTALL' + + BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true + cd .. + git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root + cd boost-root + git submodule update --init tools/build + git submodule update --init libs/config + git submodule update --init tools/boostdep + cp -r $TRAVIS_BUILD_DIR/* libs/icl + python3 tools/boostdep/depinst/depinst.py icl + ./bootstrap.sh + ./b2 headers + + echo '==================================> SCRIPT' + + ./b2 -j 3 libs/icl/test toolset=$TOOLSET cxxstd=$CXXSTD + + fi + osx: + strategy: + fail-fast: false + matrix: + include: + - name: "TOOLSET=clang CXXSTD=11,14,1z Job 5" + buildtype: "boost" + packages: "" + os: "macos-latest" + cxx: "clang++" + sources: "" + llvm_os: "" + llvm_ver: "" + xcode_version: 11.7 + toolset: "clang" + cxxstd: "11,14,1z" + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v2 + + - name: "osx" + shell: bash + env: + CXX: ${{ matrix.cxx }} + SOURCES: ${{ matrix.sources }} + LLVM_OS: ${{ matrix.llvm_os }} + LLVM_VER: ${{ matrix.llvm_ver }} + PACKAGES: ${{ matrix.packages }} + JOB_BUILDTYPE: ${{ matrix.buildtype }} + TOOLSET: ${{ matrix.toolset }} + CXXSTD: ${{ matrix.cxxstd }} + TRAVIS_BRANCH: ${{ github.base_ref }} + TRAVIS_OS_NAME: "osx" + run: | + echo '==================================> SETUP' + set -e + sudo mv /Library/Developer/CommandLineTools /Library/Developer/CommandLineTools.bck + echo '==================================> PACKAGES' + echo '==================================> INSTALL AND COMPILE' + set -e + export TRAVIS_BUILD_DIR=$(pwd) + export TRAVIS_BRANCH=${TRAVIS_BRANCH:-$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')} + export VCS_COMMIT_ID=$GITHUB_SHA + export GIT_COMMIT=$GITHUB_SHA + export REPO_NAME=$(basename $GITHUB_REPOSITORY) + export USER=$(whoami) + export CC=${CC:-gcc} + export PATH=~/.local/bin:/usr/local/bin:$PATH + + if [ "$JOB_BUILDTYPE" == "boost" ]; then + + echo '==================================> INSTALL' + + BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true + cd .. + git clone -b $BOOST_BRANCH https://github.com/boostorg/boost.git boost-root + cd boost-root + git submodule update --init tools/build + git submodule update --init libs/config + git submodule update --init tools/boostdep + cp -r $TRAVIS_BUILD_DIR/* libs/icl + python3 tools/boostdep/depinst/depinst.py icl + ./bootstrap.sh + ./b2 headers + + echo '==================================> SCRIPT' + + ./b2 -j 3 libs/icl/test toolset=$TOOLSET cxxstd=$CXXSTD + + fi From 80fce6203a96a32bff329d4e0483c6256e9bc413 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 6 Jun 2025 22:57:26 -0500 Subject: [PATCH 13/14] Bump containers for available *correct* packages. --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dfa50a6d..3b7f8bbc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: packages: "g++-5" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:16.04" + container: "ubuntu:18.04" cxx: "g++-5" sources: "" llvm_os: "" @@ -46,7 +46,7 @@ jobs: packages: "g++-6" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:16.04" + container: "ubuntu:18.04" cxx: "g++-6" sources: "" llvm_os: "" @@ -58,7 +58,7 @@ jobs: packages: "g++-7" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:16.04" + container: "ubuntu:18.04" cxx: "g++-7" sources: "" llvm_os: "" @@ -70,7 +70,7 @@ jobs: packages: "libstdc++-4.9-dev clang" packages_to_remove: "" os: "ubuntu-latest" - container: "ubuntu:16.04" + container: "ubuntu:18.04" cxx: "clang++" sources: "" llvm_os: "" From 43355d2bd4fc9ae3e308a5b7f2e0e56b36b65a78 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 6 Jun 2025 23:20:28 -0500 Subject: [PATCH 14/14] Remove not avilable package. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3b7f8bbc..e806b9a7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,7 +67,7 @@ jobs: cxxstd: "11,14,17" - name: "TOOLSET=clang CXXSTD=11,14,1z Job 4" buildtype: "boost" - packages: "libstdc++-4.9-dev clang" + packages: "clang" packages_to_remove: "" os: "ubuntu-latest" container: "ubuntu:18.04"