From 6434409a0f50c653028574c5cb8af49891b8a84d Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 11 Mar 2024 08:38:17 -0500 Subject: [PATCH 01/11] Make the library modular usable. --- Jamfile | 15 --------------- bench/Jamfile | 2 +- build.jam | 33 +++++++++++++++++++++++++++++++++ build/Jamfile | 12 +++++------- 4 files changed, 39 insertions(+), 23 deletions(-) delete mode 100644 Jamfile create mode 100644 build.jam diff --git a/Jamfile b/Jamfile deleted file mode 100644 index 4ab8fe781..000000000 --- a/Jamfile +++ /dev/null @@ -1,15 +0,0 @@ -# -# Copyright (c) 2019 Vinnie Falco (vinnie dot falco at gmail dot com) -# -# 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) -# -# Official repository: https://github.com/boostorg/json -# - -import feature ; - -build-project bench ; -build-project test ; -build-project fuzzing ; -build-project example ; diff --git a/bench/Jamfile b/bench/Jamfile index 3057fb967..39aa7d4b4 100644 --- a/bench/Jamfile +++ b/bench/Jamfile @@ -11,7 +11,7 @@ import common ; import os ; import path ; import property ; - +import notfile ; import feature ; path-constant HERE : . ; diff --git a/build.jam b/build.jam new file mode 100644 index 000000000..9b883c89d --- /dev/null +++ b/build.jam @@ -0,0 +1,33 @@ +# 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/json + : common-requirements + /boost/align//boost_align + /boost/assert//boost_assert + /boost/config//boost_config + /boost/container//boost_container + /boost/container_hash//boost_container_hash + /boost/core//boost_core + /boost/describe//boost_describe + /boost/endian//boost_endian + /boost/mp11//boost_mp11 + /boost/system//boost_system + /boost/throw_exception//boost_throw_exception + include + ; + +explicit + [ alias boost_json : build//boost_json ] + [ alias json_deps : build//json_deps ] + [ alias json_sources : build//json_sources ] + [ alias all : boost_json json_deps json_sources bench example fuzzing test ] + ; + +call-if : boost-library json + : install boost_json + ; diff --git a/build/Jamfile b/build/Jamfile index 3eb4d55df..532e08d37 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -9,7 +9,7 @@ # import modules ; -import ../../config/checks/config ; +import config ; # These make sure we only build on compatible C++11 or later toolchains. obj cxx11_basic_alignas : ../check/basic_alignas.cpp ; @@ -54,7 +54,7 @@ rule warn-if-requested ( properties * ) } } -project boost/json +project : requirements [ requires config/cxx11_constexpr @@ -79,13 +79,13 @@ project boost/json alias json_deps : usage-requirements - /boost//container/off + /boost/container//boost_container/off ; alias json_sources : src.cpp : usage-requirements - /boost//container/off + /boost/container//boost_container/off ; explicit json_deps json_sources ; @@ -93,7 +93,5 @@ explicit json_deps json_sources ; lib boost_json : json_sources : usage-requirements - /boost//container/off + /boost/container//boost_container/off ; - -boost-install boost_json ; From 6737e6b6140c57f9995746399a50c017ed7db3b6 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 29 Mar 2024 21:15:59 -0500 Subject: [PATCH 02/11] Switch to library requirements instead of source. As source puts extra source in install targets. --- build.jam | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/build.jam b/build.jam index 9b883c89d..5cc042485 100644 --- a/build.jam +++ b/build.jam @@ -7,17 +7,17 @@ import project ; project /boost/json : common-requirements - /boost/align//boost_align - /boost/assert//boost_assert - /boost/config//boost_config - /boost/container//boost_container - /boost/container_hash//boost_container_hash - /boost/core//boost_core - /boost/describe//boost_describe - /boost/endian//boost_endian - /boost/mp11//boost_mp11 - /boost/system//boost_system - /boost/throw_exception//boost_throw_exception + /boost/align//boost_align + /boost/assert//boost_assert + /boost/config//boost_config + /boost/container//boost_container + /boost/container_hash//boost_container_hash + /boost/core//boost_core + /boost/describe//boost_describe + /boost/endian//boost_endian + /boost/mp11//boost_mp11 + /boost/system//boost_system + /boost/throw_exception//boost_throw_exception include ; From 5ddea0608c6a335daff44fb8a6ad4f77d9a1fc68 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 25 Apr 2024 08:51:01 -0500 Subject: [PATCH 03/11] Add missing b2 testing module import. --- fuzzing/Jamfile | 1 + 1 file changed, 1 insertion(+) diff --git a/fuzzing/Jamfile b/fuzzing/Jamfile index e81395114..99ef3f139 100644 --- a/fuzzing/Jamfile +++ b/fuzzing/Jamfile @@ -16,6 +16,7 @@ import os ; import path ; import property ; import sequence ; +import testing ; # set the maximum size of the input, to avoid From cc3f35f70892ff32d42c16f82ffc9e02beffd392 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 26 Apr 2024 22:15:23 -0500 Subject: [PATCH 04/11] Replace relative docca refs with project based. --- doc/Jamfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/Jamfile b/doc/Jamfile index 1b35aaf90..a1026fe11 100644 --- a/doc/Jamfile +++ b/doc/Jamfile @@ -11,7 +11,8 @@ project json/doc ; import boostbook ; -import ../../../tools/docca/docca.jam ; +import-search /boost/docca ; +import docca ; docca.reference reference.qbk From b50d7eec3a750520505630ad53e23e913ae5a0a7 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 28 Apr 2024 20:15:50 -0500 Subject: [PATCH 05/11] Add missing NO_LIB usage requirements. --- build/Jamfile | 1 + 1 file changed, 1 insertion(+) diff --git a/build/Jamfile b/build/Jamfile index 532e08d37..8ece4b52f 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -74,6 +74,7 @@ project shared:BOOST_JSON_DYN_LINK=1 static:BOOST_JSON_STATIC_LINK=1 msvc:_SCL_SECURE_NO_WARNINGS + BOOST_JSON_NO_LIB=1 : source-location ../src ; From 432d609fad58b69850b62614a53d36cf3578f6b7 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 4 May 2024 23:30:07 -0500 Subject: [PATCH 06/11] Add missing import-search for cconfig/predef checks. --- build/Jamfile | 1 + 1 file changed, 1 insertion(+) diff --git a/build/Jamfile b/build/Jamfile index 8ece4b52f..c70f8f7a5 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -9,6 +9,7 @@ # import modules ; +import-search /boost/config/checks ; import config ; # These make sure we only build on compatible C++11 or later toolchains. From c17d4223a8f3ba0ee2aa9b351d0abe4d1ec57e41 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 09:00:01 -0500 Subject: [PATCH 07/11] Add requires-b2 check to top-level build file. --- build.jam | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build.jam b/build.jam index 5cc042485..e5c7951b6 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/json From e31f3db98d7c093b0645342825b366fd1cf2c609 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 13 May 2024 21:46:05 -0500 Subject: [PATCH 08/11] Update dependencies. --- build.jam | 1 + 1 file changed, 1 insertion(+) diff --git a/build.jam b/build.jam index e5c7951b6..98e71d02f 100644 --- a/build.jam +++ b/build.jam @@ -18,6 +18,7 @@ project /boost/json /boost/describe//boost_describe /boost/endian//boost_endian /boost/mp11//boost_mp11 + /boost/static_assert//boost_static_assert /boost/system//boost_system /boost/throw_exception//boost_throw_exception include From dc0519049fa77778e6da60718b1c76318244cf18 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 14 Jun 2024 11:33:55 -0500 Subject: [PATCH 09/11] 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 98e71d02f..c3b1b4df4 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/json : common-requirements From dfd4928ca8eb7d2bf4262ec8b83fdeeeea38968c Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 22:52:05 -0500 Subject: [PATCH 10/11] Update copyright dates. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index c3b1b4df4..9df1d03e3 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 22713a39f8141a68811fcfef2f8558eaf51bdb7b Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 23 Jul 2024 22:34:24 -0500 Subject: [PATCH 11/11] Move inter-lib dependencies to a project variable and into the build targets. --- build.jam | 27 +++++++++++++++------------ build/Jamfile | 1 + 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/build.jam b/build.jam index 9df1d03e3..2001b3303 100644 --- a/build.jam +++ b/build.jam @@ -5,20 +5,22 @@ require-b2 5.2 ; +constant boost_dependencies : + /boost/align//boost_align + /boost/assert//boost_assert + /boost/config//boost_config + /boost/container//boost_container + /boost/container_hash//boost_container_hash + /boost/core//boost_core + /boost/describe//boost_describe + /boost/endian//boost_endian + /boost/mp11//boost_mp11 + /boost/static_assert//boost_static_assert + /boost/system//boost_system + /boost/throw_exception//boost_throw_exception ; + project /boost/json : common-requirements - /boost/align//boost_align - /boost/assert//boost_assert - /boost/config//boost_config - /boost/container//boost_container - /boost/container_hash//boost_container_hash - /boost/core//boost_core - /boost/describe//boost_describe - /boost/endian//boost_endian - /boost/mp11//boost_mp11 - /boost/static_assert//boost_static_assert - /boost/system//boost_system - /boost/throw_exception//boost_throw_exception include ; @@ -32,3 +34,4 @@ explicit call-if : boost-library json : install boost_json ; + diff --git a/build/Jamfile b/build/Jamfile index c70f8f7a5..4700d2c83 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -56,6 +56,7 @@ rule warn-if-requested ( properties * ) } project + : common-requirements $(boost_dependencies) : requirements [ requires config/cxx11_constexpr