From f945951d5977336a18beab0b734234069a917a7f Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 11 Mar 2024 08:31:25 -0500 Subject: [PATCH 01/15] Make the library modular usable. --- Jamfile.v2 | 14 -------------- build.jam | 36 ++++++++++++++++++++++++++++++++++++ build/Jamfile.v2 | 4 +--- example/Jamfile.v2 | 7 +++++-- test/Jamfile.v2 | 9 ++++++++- 5 files changed, 50 insertions(+), 20 deletions(-) delete mode 100644 Jamfile.v2 create mode 100644 build.jam diff --git a/Jamfile.v2 b/Jamfile.v2 deleted file mode 100644 index 4e921c64..00000000 --- a/Jamfile.v2 +++ /dev/null @@ -1,14 +0,0 @@ -# Boost.Contract Library Jamfile -# -# Use, modification, and distribution are 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) - -# please order by name to ease maintenance (this is used by CI) -# -# CI build of examples disabled at repository owner's request (examples are -# meant for docs so for simplicity might omit work-around to build on all plat) -# build-project example ; -# -build-project test ; - diff --git a/build.jam b/build.jam new file mode 100644 index 00000000..e2b5e429 --- /dev/null +++ b/build.jam @@ -0,0 +1,36 @@ +# 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/contract + : common-requirements + include + /boost/any//boost_any + /boost/assert//boost_assert + /boost/config//boost_config + /boost/core//boost_core + /boost/exception//boost_exception + /boost/function//boost_function + /boost/function_types//boost_function_types + /boost/mpl//boost_mpl + /boost/optional//boost_optional + /boost/preprocessor//boost_preprocessor + /boost/smart_ptr//boost_smart_ptr + /boost/static_assert//boost_static_assert + /boost/thread//boost_thread + /boost/type_traits//boost_type_traits + /boost/typeof//boost_typeof + /boost/utility//boost_utility + ; + +explicit + [ alias boost_contract : build//boost_contract ] + [ alias all : boost_contract example test ] + ; + +call-if : boost-library contract + : install boost_contract + ; diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 3894232a..09832f2b 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -4,7 +4,7 @@ # file LICENSE_1_0.txt or a copy at http://www.boost.org/LICENSE_1_0.txt). # See: http://www.boost.org/doc/libs/release/libs/contract/doc/html/index.html -project boost/contract +project : source-location ../src : requirements shared:BOOST_CONTRACT_DYN_LINK @@ -19,5 +19,3 @@ project boost/contract # If lib as header-only, none of following will be used. lib boost_contract : contract.cpp : shared ; lib boost_contract : contract.cpp : static ; - -boost-install boost_contract ; diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index 3fe6e2fa..bd4f050c 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -4,8 +4,10 @@ # file LICENSE_1_0.txt or a copy at http://www.boost.org/LICENSE_1_0.txt). # See: http://www.boost.org/doc/libs/release/libs/contract/doc/html/index.html +require-b2 5.0.1 ; +import-search /boost/config/checks ; import ../build/boost_contract_build ; -import ../../config/checks/config : requires ; +import config : requires ; test-suite features : [ boost_contract_build.subdir-run features : introduction_comments ] @@ -54,7 +56,8 @@ test-suite features : [ boost_contract_build.subdir-run-cxx11 features : old_no_macro ] # Still needs C++11 for OLDOF variadic macros. [ boost_contract_build.subdir-run-cxx11 features : no_lambdas ] - [ boost_contract_build.subdir-run-cxx11 features : no_lambdas_local_func ] + [ boost_contract_build.subdir-run-cxx11 features : no_lambdas_local_func : + /boost/local_function//boost_local_function ] ; test-suite n1962 : diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 2026b8de..564f5c9f 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -4,8 +4,15 @@ # file LICENSE_1_0.txt or a copy at http://www.boost.org/LICENSE_1_0.txt). # See: http://www.boost.org/doc/libs/release/libs/contract/doc/html/index.html +require-b2 5.0.1 ; +import-search /boost/config/checks ; import ../build/boost_contract_build ; -import ../../config/checks/config : requires ; +import config : requires ; + +project + : requirements + /boost/iostreams//boost_iostreams + ; test-suite constructor : [ boost_contract_build.subdir-run-cxx11 constructor : smoke ] From ce4d40fbc2afaf2dcfb1d8db278e5d8f45a57483 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 29 Mar 2024 21:15:58 -0500 Subject: [PATCH 02/15] Switch to library requirements instead of source. As source puts extra source in install targets. --- build.jam | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/build.jam b/build.jam index e2b5e429..1a197522 100644 --- a/build.jam +++ b/build.jam @@ -8,22 +8,22 @@ import project ; project /boost/contract : common-requirements include - /boost/any//boost_any - /boost/assert//boost_assert - /boost/config//boost_config - /boost/core//boost_core - /boost/exception//boost_exception - /boost/function//boost_function - /boost/function_types//boost_function_types - /boost/mpl//boost_mpl - /boost/optional//boost_optional - /boost/preprocessor//boost_preprocessor - /boost/smart_ptr//boost_smart_ptr - /boost/static_assert//boost_static_assert - /boost/thread//boost_thread - /boost/type_traits//boost_type_traits - /boost/typeof//boost_typeof - /boost/utility//boost_utility + /boost/any//boost_any + /boost/assert//boost_assert + /boost/config//boost_config + /boost/core//boost_core + /boost/exception//boost_exception + /boost/function//boost_function + /boost/function_types//boost_function_types + /boost/mpl//boost_mpl + /boost/optional//boost_optional + /boost/preprocessor//boost_preprocessor + /boost/smart_ptr//boost_smart_ptr + /boost/static_assert//boost_static_assert + /boost/thread//boost_thread + /boost/type_traits//boost_type_traits + /boost/typeof//boost_typeof + /boost/utility//boost_utility ; explicit From 05da07f06f0a8e3eaae1b24f62ea4dd09d91fe18 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 26 Apr 2024 23:08:50 -0500 Subject: [PATCH 03/15] Fix cross lib relative build ref. --- build/boost_contract_build.jam | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build/boost_contract_build.jam b/build/boost_contract_build.jam index 06b7869b..75ab2a41 100644 --- a/build/boost_contract_build.jam +++ b/build/boost_contract_build.jam @@ -6,7 +6,7 @@ # Usage: bjam [OPTION]... DIR[-CPP_FILE_NAME] # Build and run Boost.Contract tests and examples. -# +# # Options (common to BJam): # toolset=msvc,gcc,clang,... specify compiler # cxxstd=03,11,14,17,... specify C++ standard version @@ -49,7 +49,8 @@ import boost_contract_no ; import feature ; import testing ; -import ../../config/checks/config : requires ; +import-search /boost/config/checks ; +import config : requires ; # Iff "no", link to boost_contract (else, no lib build so don't link to it). feature.feature bc_hdr : lib only : @@ -64,7 +65,7 @@ for local comb in [ boost_contract_no.combinations ] { } module boost_contract_build { - + rule project_requirements ( subdir ) { return lib:../build//boost_contract From fc793870f559ddb67820a47a5e2b6bbf6aa12d2d Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 27 Apr 2024 09:58:53 -0500 Subject: [PATCH 04/15] Fix out-of-project import-search. --- build/boost_contract_build.jam | 1 - 1 file changed, 1 deletion(-) diff --git a/build/boost_contract_build.jam b/build/boost_contract_build.jam index 75ab2a41..7b034085 100644 --- a/build/boost_contract_build.jam +++ b/build/boost_contract_build.jam @@ -49,7 +49,6 @@ import boost_contract_no ; import feature ; import testing ; -import-search /boost/config/checks ; import config : requires ; # Iff "no", link to boost_contract (else, no lib build so don't link to it). From 00490099f9d27a3f237d943b8e4de2f6cac71338 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 28 Apr 2024 20:14:43 -0500 Subject: [PATCH 05/15] Add missing NO_LIB usage requirements. --- build/Jamfile.v2 | 1 + 1 file changed, 1 insertion(+) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 09832f2b..e2fc120d 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -14,6 +14,7 @@ project shared:BOOST_CONTRACT_DYN_LINK static:BOOST_CONTRACT_STATIC_LINK single:BOOST_CONTRACT_DISABLE_THREADS + BOOST_CONTRACT_NO_LIB=1 ; # If lib as header-only, none of following will be used. From 892720a2e3f169ff89554a8d5384e6f55c2278f0 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 4 May 2024 23:28:45 -0500 Subject: [PATCH 06/15] Add missing import-search for cconfig/predef checks. --- build/boost_contract_build.jam | 1 + 1 file changed, 1 insertion(+) diff --git a/build/boost_contract_build.jam b/build/boost_contract_build.jam index 7b034085..75ab2a41 100644 --- a/build/boost_contract_build.jam +++ b/build/boost_contract_build.jam @@ -49,6 +49,7 @@ import boost_contract_no ; import feature ; import testing ; +import-search /boost/config/checks ; import config : requires ; # Iff "no", link to boost_contract (else, no lib build so don't link to it). From 8f07fa1200f86cef9e0252f16b522ec3aab50f6b Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 08:09:32 -0500 Subject: [PATCH 07/15] Remove import-search from non-project jam file. --- build/boost_contract_build.jam | 1 - 1 file changed, 1 deletion(-) diff --git a/build/boost_contract_build.jam b/build/boost_contract_build.jam index 75ab2a41..7b034085 100644 --- a/build/boost_contract_build.jam +++ b/build/boost_contract_build.jam @@ -49,7 +49,6 @@ import boost_contract_no ; import feature ; import testing ; -import-search /boost/config/checks ; import config : requires ; # Iff "no", link to boost_contract (else, no lib build so don't link to it). From ccc3fef2619c98cec1201a8755741a0c44d96af3 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 09:00:01 -0500 Subject: [PATCH 08/15] 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 1a197522..6d3f60cb 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/contract From ca4eb815a4a04ce660b96748b752bb763acc9ccb Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 14 Jun 2024 11:33:55 -0500 Subject: [PATCH 09/15] 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 6d3f60cb..e38bf84e 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/contract : common-requirements From 69022312b82b66d7241bb8f114e3991c82391b60 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 19:37:42 -0500 Subject: [PATCH 10/15] Change all references to . --- example/Jamfile.v2 | 4 +-- test/Jamfile.v2 | 80 +++++++++++++++++++++++----------------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index bd4f050c..95bb7a9e 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -27,7 +27,7 @@ test-suite features : [ boost_contract_build.subdir-run-cxx11 features : private_protected_virtual_multi ] [ boost_contract_build.subdir-run-cxx11 features : check ] - + [ boost_contract_build.subdir-run-cxx11 features : friend ] [ boost_contract_build.subdir-run-cxx11 features : friend_invariant ] [ boost_contract_build.subdir-run-cxx11 features : old ] @@ -57,7 +57,7 @@ test-suite features : # Still needs C++11 for OLDOF variadic macros. [ boost_contract_build.subdir-run-cxx11 features : no_lambdas ] [ boost_contract_build.subdir-run-cxx11 features : no_lambdas_local_func : - /boost/local_function//boost_local_function ] + /boost/local_function//boost_local_function ] ; test-suite n1962 : diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 564f5c9f..ac6a21a9 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -11,7 +11,7 @@ import config : requires ; project : requirements - /boost/iostreams//boost_iostreams + /boost/iostreams//boost_iostreams ; test-suite constructor : @@ -21,12 +21,12 @@ test-suite constructor : [ boost_contract_build.subdir-run-cxx11 constructor : decl_pre_ends ] [ boost_contract_build.subdir-run-cxx11 constructor : decl_pre_mid ] [ boost_contract_build.subdir-run-cxx11 constructor : decl_pre_none ] - + [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_all ] [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_ends ] [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_mid ] [ boost_contract_build.subdir-run-cxx11 constructor : decl_post_none ] - + [ boost_contract_build.subdir-run-cxx11 constructor : decl_entry_static_inv_all ] [ boost_contract_build.subdir-run-cxx11 constructor : @@ -35,7 +35,7 @@ test-suite constructor : decl_entry_static_inv_mid ] [ boost_contract_build.subdir-run-cxx11 constructor : decl_entry_static_inv_none ] - + [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_static_inv_all ] [ boost_contract_build.subdir-run-cxx11 constructor : @@ -44,16 +44,16 @@ test-suite constructor : decl_exit_static_inv_mid ] [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_static_inv_none ] - + # No decl_entry_static_inv_... (as no obj before ctor). [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_all ] [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_ends ] [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_mid ] [ boost_contract_build.subdir-run-cxx11 constructor : decl_exit_inv_none ] - + [ boost_contract_build.subdir-run-cxx11 constructor : access ] - + [ boost_contract_build.subdir-run-cxx11 constructor : ifdef ] [ boost_contract_build.subdir-run-cxx11 constructor : ifdef_macro ] @@ -62,7 +62,7 @@ test-suite constructor : [ boost_contract_build.subdir-run-cxx11 constructor : throwing_body ] [ boost_contract_build.subdir-run-cxx11 constructor : throwing_post ] # No throwing_except test (as throwing twice calls terminate). - + [ boost_contract_build.subdir-compile-fail-cxx11 constructor : pre_error ] ; @@ -70,12 +70,12 @@ test-suite destructor : [ boost_contract_build.subdir-run-cxx11 destructor : smoke ] # No decl_pre_... (as dtors have no pre). - + [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_all ] [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_ends ] [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_mid ] [ boost_contract_build.subdir-run-cxx11 destructor : decl_post_none ] - + [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_static_inv_all ] [ boost_contract_build.subdir-run-cxx11 destructor : @@ -84,7 +84,7 @@ test-suite destructor : decl_entry_static_inv_mid ] [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_static_inv_none ] - + [ boost_contract_build.subdir-run-cxx11 destructor : decl_exit_static_inv_all ] [ boost_contract_build.subdir-run-cxx11 destructor : @@ -93,14 +93,14 @@ test-suite destructor : decl_exit_static_inv_mid ] [ boost_contract_build.subdir-run-cxx11 destructor : decl_exit_static_inv_none ] - + [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_all ] [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_ends ] [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_mid ] [ boost_contract_build.subdir-run-cxx11 destructor : decl_entry_inv_none ] # No decl_exit_inv_... (as no obj after dtor). - + [ boost_contract_build.subdir-run-cxx11 destructor : access ] [ boost_contract_build.subdir-run-cxx11 destructor : ifdef ] @@ -127,7 +127,7 @@ test-suite public_function : [ boost_contract_build.subdir-run-cxx11 public_function : decl_post_ends ] [ boost_contract_build.subdir-run-cxx11 public_function : decl_post_mid ] [ boost_contract_build.subdir-run-cxx11 public_function : decl_post_none ] - + [ boost_contract_build.subdir-run-cxx11 public_function : decl_entry_static_inv_all ] [ boost_contract_build.subdir-run-cxx11 public_function : @@ -136,7 +136,7 @@ test-suite public_function : decl_entry_static_inv_mid ] [ boost_contract_build.subdir-run-cxx11 public_function : decl_entry_static_inv_none ] - + [ boost_contract_build.subdir-run-cxx11 public_function : decl_exit_static_inv_all ] [ boost_contract_build.subdir-run-cxx11 public_function : @@ -145,7 +145,7 @@ test-suite public_function : decl_exit_static_inv_mid ] [ boost_contract_build.subdir-run-cxx11 public_function : decl_exit_static_inv_none ] - + [ boost_contract_build.subdir-run-cxx11 public_function : decl_entry_inv_all ] [ boost_contract_build.subdir-run-cxx11 public_function : @@ -154,7 +154,7 @@ test-suite public_function : decl_entry_inv_mid ] [ boost_contract_build.subdir-run-cxx11 public_function : decl_entry_inv_none ] - + [ boost_contract_build.subdir-run-cxx11 public_function : decl_exit_inv_all ] [ boost_contract_build.subdir-run-cxx11 public_function : @@ -163,9 +163,9 @@ test-suite public_function : decl_exit_inv_mid ] [ boost_contract_build.subdir-run-cxx11 public_function : decl_exit_inv_none ] - + [ boost_contract_build.subdir-run-cxx11 public_function : access ] - + [ boost_contract_build.subdir-run-cxx11 public_function : ifdef ] [ boost_contract_build.subdir-run-cxx11 public_function : ifdef_macro ] @@ -181,7 +181,7 @@ test-suite public_function : [ boost_contract_build.subdir-compile-fail public_function : protected_error ] [ boost_contract_build.subdir-run-cxx11 public_function : friend ] - + [ boost_contract_build.subdir-run-cxx11 public_function : throwing_pre ] [ boost_contract_build.subdir-run-cxx11 public_function : throwing_old ] [ boost_contract_build.subdir-run-cxx11 public_function : throwing_body ] @@ -191,7 +191,7 @@ test-suite public_function : throwing_body_virtual_branch ] [ boost_contract_build.subdir-run-cxx11 public_function : throwing_post ] # No throwing_except test (as throwing twice calls terminate). - + [ boost_contract_build.subdir-run-cxx11 public_function : max_args0 : BOOST_CONTRACT_MAX_ARGS=0 ] [ boost_contract_build.subdir-run-cxx11 public_function : max_args0_no_tva : @@ -213,10 +213,10 @@ test-suite public_function : [ boost_contract_build.subdir-run-cxx11 public_function : max_args ] [ boost_contract_build.subdir-run-cxx11 public_function : max_args_no_tva : BOOST_NO_CXX11_VARIADIC_TEMPLATES ] - + [ boost_contract_build.subdir-run-cxx11 public_function : max_bases ] # C++11 for BASES(...) variadic macros. - + [ boost_contract_build.subdir-run-cxx11 public_function : overload ] [ boost_contract_build.subdir-run-cxx11 public_function : overload_no_tva : BOOST_NO_CXX11_VARIADIC_TEMPLATES ] @@ -225,7 +225,7 @@ test-suite public_function : override_error ] # C++11 for BASES(...) variadic macros. [ boost_contract_build.subdir-run-cxx11 public_function : # C++11 for BASES. override_permissive : BOOST_CONTRACT_PERMISSIVE ] - + [ boost_contract_build.subdir-run-cxx11 public_function : static ] [ boost_contract_build.subdir-run-cxx11 public_function : static_ifdef ] [ boost_contract_build.subdir-run-cxx11 public_function : @@ -240,7 +240,7 @@ test-suite public_function : static_throwing_post ] # No throwing_except test (as throwing twice calls terminate). ; - + test-suite invariant : [ boost_contract_build.subdir-run-cxx11 invariant : decl_static_cv_const ] [ boost_contract_build.subdir-run-cxx11 invariant : decl_static_cv ] @@ -250,7 +250,7 @@ test-suite invariant : [ boost_contract_build.subdir-run-cxx11 invariant : decl_cv ] [ boost_contract_build.subdir-run-cxx11 invariant : decl_const ] [ boost_contract_build.subdir-run-cxx11 invariant : decl_nothing ] - + [ boost_contract_build.subdir-run invariant : ifdef ] [ boost_contract_build.subdir-run-cxx11 invariant : ifdef_macro ] @@ -268,7 +268,7 @@ test-suite invariant : [ boost_contract_build.subdir-compile-fail invariant : static_cv_error ] [ boost_contract_build.subdir-run invariant : static_cv_permissive : BOOST_CONTRACT_PERMISSIVE ] - + [ boost_contract_build.subdir-compile-fail invariant : static_error ] [ boost_contract_build.subdir-run invariant : static_permissive : BOOST_CONTRACT_PERMISSIVE ] @@ -285,7 +285,7 @@ test-suite function : [ boost_contract_build.subdir-run-cxx11 function : decl_pre_all ] [ boost_contract_build.subdir-run-cxx11 function : decl_pre_none ] - + [ boost_contract_build.subdir-run-cxx11 function : decl_post_all ] [ boost_contract_build.subdir-run-cxx11 function : decl_post_none ] @@ -302,10 +302,10 @@ test-suite function : test-suite check : [ boost_contract_build.subdir-run-cxx11 check : decl_class ] [ boost_contract_build.subdir-run-cxx11 check : decl_macro ] - + [ boost_contract_build.subdir-run-cxx11 check : ifdef ] [ boost_contract_build.subdir-run-cxx11 check : ifdef_macro ] - + [ boost_contract_build.subdir-run-cxx11 check : audit : BOOST_CONTRACT_AUDITS ] [ boost_contract_build.subdir-compile-fail-cxx11 check : audit_error ] @@ -338,7 +338,7 @@ test-suite old : [ boost_contract_build.subdir-run-cxx11 old : if_copyable ] [ boost_contract_build.subdir-compile-fail-cxx11 old : if_copyable_error ] [ boost_contract_build.subdir-run-cxx11 old : if_copyable_macro ] - + [ boost_contract_build.subdir-run old : copyable_traits ] ; @@ -355,10 +355,10 @@ test-suite disable : ] [ boost_contract_build.subdir-run-cxx11 disable : other_assertions_lib : disable-lib_a disable-lib_b ] - + [ boost_contract_build.subdir-run-cxx11 disable : other_assertions_unit disable/lib_a.cpp disable/lib_b.cpp ] - + [ boost_contract_build.subdir-lib-cxx11 disable : lib_x : BOOST_CONTRACT_NO_POSTCONDITIONS BOOST_CONTRACT_NO_EXCEPTS @@ -372,13 +372,13 @@ test-suite disable : ] [ boost_contract_build.subdir-run-cxx11 disable : no_post_except_lib : disable-lib_x disable-lib_y ] - + [ boost_contract_build.subdir-run-cxx11 disable : no_post_except_unit disable/lib_x.cpp disable/lib_y.cpp : BOOST_CONTRACT_NO_POSTCONDITIONS BOOST_CONTRACT_NO_EXCEPTS ] - + [ boost_contract_build.subdir-run disable : audit : BOOST_CONTRACT_AUDITS ] [ boost_contract_build.subdir-compile-fail disable : audit_error ] @@ -390,7 +390,7 @@ test-suite disable : test-suite specify : [ boost_contract_build.subdir-run-cxx11 specify : pre_old_post_except ] - + [ boost_contract_build.subdir-run-cxx11 specify : pre_old_post ] [ boost_contract_build.subdir-run-cxx11 specify : pre_old_except ] [ boost_contract_build.subdir-run-cxx11 specify : pre_post_except ] @@ -409,7 +409,7 @@ test-suite specify : [ boost_contract_build.subdir-run-cxx11 specify : except ] [ boost_contract_build.subdir-run specify : nothing ] - + [ boost_contract_build.subdir-compile-fail-cxx11 specify : except_post_error ] [ boost_contract_build.subdir-compile-fail-cxx11 specify : @@ -419,7 +419,7 @@ test-suite specify : [ boost_contract_build.subdir-compile-fail-cxx11 specify : post_old_error ] [ boost_contract_build.subdir-compile-fail-cxx11 specify : post_pre_error ] [ boost_contract_build.subdir-compile-fail-cxx11 specify : old_pre_error ] - + [ boost_contract_build.subdir-run-cxx11 specify : missing_check : BOOST_CONTRACT_ON_MISSING_CHECK_DECL=\"\{\ throw\ err()\;\ \}\" ] @@ -444,11 +444,11 @@ test-suite call_if : [ boost_contract_build.subdir-run-cxx11 call_if : true_void ] [ boost_contract_build.subdir-run-cxx11 call_if : false_void ] - + [ boost_contract_build.subdir-run-cxx11 call_if : equal_to ] [ boost_contract_build.subdir-run-cxx11 call_if : equal_to_cxx14 : [ requires cxx14_generic_lambdas ] ] - + [ boost_contract_build.subdir-run-cxx11 call_if : no_equal_condition_if ] [ boost_contract_build.subdir-run-cxx11 call_if : no_equal_call_if ] [ boost_contract_build.subdir-compile-fail-cxx11 call_if : no_equal_error ] From baa24fb82a8ffc15017b523f1949f4cf2f021b7e Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 22:52:05 -0500 Subject: [PATCH 11/15] Update copyright dates. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index e38bf84e..091d856f 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 9889a140c8a8109b27ebb898424ba7b7fe70fdf8 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 23 Jul 2024 22:34:24 -0500 Subject: [PATCH 12/15] Move inter-lib dependencies to a project variable and into the build targets. --- build.jam | 35 +++++++++++++++++++---------------- build/Jamfile.v2 | 1 + 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/build.jam b/build.jam index 091d856f..5a8ea927 100644 --- a/build.jam +++ b/build.jam @@ -5,25 +5,27 @@ require-b2 5.2 ; +constant boost_dependencies : + /boost/any//boost_any + /boost/assert//boost_assert + /boost/config//boost_config + /boost/core//boost_core + /boost/exception//boost_exception + /boost/function//boost_function + /boost/function_types//boost_function_types + /boost/mpl//boost_mpl + /boost/optional//boost_optional + /boost/preprocessor//boost_preprocessor + /boost/smart_ptr//boost_smart_ptr + /boost/static_assert//boost_static_assert + /boost/thread//boost_thread + /boost/type_traits//boost_type_traits + /boost/typeof//boost_typeof + /boost/utility//boost_utility ; + project /boost/contract : common-requirements include - /boost/any//boost_any - /boost/assert//boost_assert - /boost/config//boost_config - /boost/core//boost_core - /boost/exception//boost_exception - /boost/function//boost_function - /boost/function_types//boost_function_types - /boost/mpl//boost_mpl - /boost/optional//boost_optional - /boost/preprocessor//boost_preprocessor - /boost/smart_ptr//boost_smart_ptr - /boost/static_assert//boost_static_assert - /boost/thread//boost_thread - /boost/type_traits//boost_type_traits - /boost/typeof//boost_typeof - /boost/utility//boost_utility ; explicit @@ -34,3 +36,4 @@ explicit call-if : boost-library contract : install boost_contract ; + diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index e2fc120d..630e3f33 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -6,6 +6,7 @@ project : source-location ../src + : common-requirements $(boost_dependencies) : requirements shared:BOOST_CONTRACT_DYN_LINK static:BOOST_CONTRACT_STATIC_LINK From 34f84870627fd20d3bed51589f6b46827b2a71dc Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 28 Jul 2024 10:38:13 -0500 Subject: [PATCH 13/15] Add missing doc//boostdoc target. --- doc/Jamfile.v2 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index 3c104a1c..7ceecead 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -16,7 +16,7 @@ doxygen reference [ glob ../include/boost/contract.hpp ../include/boost/contract_macro.hpp - + ../include/boost/contract/assert.hpp ../include/boost/contract/base_types.hpp ../include/boost/contract/call_if.hpp @@ -36,7 +36,7 @@ doxygen reference ../include/boost/contract/core/specify.hpp ../include/boost/contract/core/virtual.hpp ] -: +: "Reference" # Quickbook's Doxygen does not show destructor exception specs. PREDEFINED="BOOST_CONTRACT_DETAIL_DOXYGEN BOOST_PP_VARIADICS" @@ -67,10 +67,11 @@ boostbook boostrelease : contract pdf:admon.graphics.extension=".svg" pdf:img.src.path=$(images_location)/ pdf:draft.mode="no" - + ; install pdfinstall : doc/pdf : . PDF local_function.pdf ; explicit pdfinstall ; +explicit [ alias boostdoc ] ; From 60dabd879ee0257455db061f7f22e5540c3f331a Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 17 Apr 2025 08:42:48 -0500 Subject: [PATCH 14/15] Move include to target. --- build.jam | 2 -- build/Jamfile.v2 | 8 +++----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/build.jam b/build.jam index 5a8ea927..2960027b 100644 --- a/build.jam +++ b/build.jam @@ -24,8 +24,6 @@ constant boost_dependencies : /boost/utility//boost_utility ; project /boost/contract - : common-requirements - include ; explicit diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 630e3f33..438d49ed 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -6,15 +6,13 @@ project : source-location ../src - : common-requirements $(boost_dependencies) - : requirements + : common-requirements + $(boost_dependencies) + include shared:BOOST_CONTRACT_DYN_LINK static:BOOST_CONTRACT_STATIC_LINK single:BOOST_CONTRACT_DISABLE_THREADS : usage-requirements # Independent from requirements above (need to repeat). - shared:BOOST_CONTRACT_DYN_LINK - static:BOOST_CONTRACT_STATIC_LINK - single:BOOST_CONTRACT_DISABLE_THREADS BOOST_CONTRACT_NO_LIB=1 ; From 87abed35fa35b227015578e57f6dbb251d2a8b2c Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 17 Apr 2025 08:43:17 -0500 Subject: [PATCH 15/15] Move include to target. --- build/Jamfile.v2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 438d49ed..2938b7cc 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -8,7 +8,7 @@ project : source-location ../src : common-requirements $(boost_dependencies) - include + ../include shared:BOOST_CONTRACT_DYN_LINK static:BOOST_CONTRACT_STATIC_LINK single:BOOST_CONTRACT_DISABLE_THREADS