From 83fe83355c1c3396192378b1fc9792e757ab79da Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 11 Mar 2024 08:38:17 -0500 Subject: [PATCH 01/12] Make the library modular usable. --- Jamfile | 20 ---------------- build.jam | 47 +++++++++++++++++++++++++++++++++++++ build/Jamfile | 5 +--- example/file_router/Jamfile | 2 -- example/finicky/Jamfile | 2 -- example/magnet/Jamfile | 2 -- example/mailto/Jamfile | 2 -- example/qrcode/Jamfile | 2 -- example/router/Jamfile | 4 ++-- example/suffix_list/Jamfile | 2 -- test/Jamfile | 20 ++++------------ test/extra/Jamfile | 1 - test/limits/Jamfile | 1 - test/unit/Jamfile | 3 --- 14 files changed, 54 insertions(+), 59 deletions(-) delete mode 100644 Jamfile create mode 100644 build.jam diff --git a/Jamfile b/Jamfile deleted file mode 100644 index cd2a84633..000000000 --- a/Jamfile +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (c) 2013-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/url -# - -import ../../config/checks/config : requires ; - -constant c11-requires : - [ requires - cxx11_constexpr - cxx11_decltype - cxx11_hdr_tuple - cxx11_template_aliases - cxx11_variadic_templates - ] - ; diff --git a/build.jam b/build.jam new file mode 100644 index 000000000..d41cec50c --- /dev/null +++ b/build.jam @@ -0,0 +1,47 @@ +# 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-search /boost/config/checks ; + +import project ; +import config : requires ; + +constant c11-requires : + [ requires + cxx11_constexpr + cxx11_decltype + cxx11_hdr_tuple + cxx11_template_aliases + cxx11_variadic_templates + ] + ; + +project /boost/url + : common-requirements + /boost/align//boost_align + /boost/assert//boost_assert + /boost/config//boost_config + /boost/core//boost_core + /boost/mp11//boost_mp11 + /boost/optional//boost_optional + /boost/static_assert//boost_static_assert + /boost/system//boost_system + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits + /boost/variant2//boost_variant2 + include + : requirements + $(c11-requires) + ; + +explicit + [ alias boost_url : build//boost_url ] + [ alias url_sources : build//url_sources ] + [ alias all : boost_url url_sources example test ] + ; + +call-if : boost-library url + : library boost_url + ; diff --git a/build/Jamfile b/build/Jamfile index 0c95d9bbb..a391785e8 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -8,9 +8,8 @@ # Official repository: https://github.com/vinniefalco/url # -project boost/url +project : requirements - $(c11-requires) BOOST_URL_SOURCE msvc-14.0:no # Warnings in dependencies @@ -31,5 +30,3 @@ explicit url_sources ; lib boost_url : url_sources ; - -boost-install boost_url ; diff --git a/example/file_router/Jamfile b/example/file_router/Jamfile index be7dd14ec..50db477b7 100644 --- a/example/file_router/Jamfile +++ b/example/file_router/Jamfile @@ -7,8 +7,6 @@ # Official repository: https://github.com/boostorg/url # -project : requirements ; - project : requirements /boost/url//boost_url diff --git a/example/finicky/Jamfile b/example/finicky/Jamfile index 526f22740..44d433eed 100644 --- a/example/finicky/Jamfile +++ b/example/finicky/Jamfile @@ -7,8 +7,6 @@ # Official repository: https://github.com/boostorg/url # -project : requirements ; - project : requirements /boost/url//boost_url diff --git a/example/magnet/Jamfile b/example/magnet/Jamfile index 5b6b19831..917b64101 100644 --- a/example/magnet/Jamfile +++ b/example/magnet/Jamfile @@ -7,8 +7,6 @@ # Official repository: https://github.com/boostorg/url # -project : requirements ; - project : requirements /boost/url//boost_url diff --git a/example/mailto/Jamfile b/example/mailto/Jamfile index 6c36f4e21..d4f38ee02 100644 --- a/example/mailto/Jamfile +++ b/example/mailto/Jamfile @@ -7,8 +7,6 @@ # Official repository: https://github.com/boostorg/url # -project : requirements ; - project : requirements /boost/url//boost_url diff --git a/example/qrcode/Jamfile b/example/qrcode/Jamfile index 6a1a5969c..29e1c2be8 100644 --- a/example/qrcode/Jamfile +++ b/example/qrcode/Jamfile @@ -7,8 +7,6 @@ # Official repository: https://github.com/boostorg/url # -project : requirements ; - project : requirements /boost/url//boost_url diff --git a/example/router/Jamfile b/example/router/Jamfile index 86f02efd0..abe77b083 100644 --- a/example/router/Jamfile +++ b/example/router/Jamfile @@ -7,14 +7,14 @@ # Official repository: https://github.com/boostorg/url # -project : requirements ; - project : requirements clang-4:off clang-5:off BOOST_ASIO_DISABLE_FENCED_BLOCK /boost/url//boost_url + /boost/beast//boost_beast/static + /boost/beast//boost_beast_asio/static gcc-7:"-Wno-maybe-uninitialized" ; diff --git a/example/suffix_list/Jamfile b/example/suffix_list/Jamfile index 90a4d1a95..14e48c9b4 100644 --- a/example/suffix_list/Jamfile +++ b/example/suffix_list/Jamfile @@ -7,8 +7,6 @@ # Official repository: https://github.com/boostorg/url # -project : requirements ; - project : requirements /boost/url//boost_url diff --git a/test/Jamfile b/test/Jamfile index 638cf9be7..d59dfd682 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -22,28 +22,16 @@ project gcc:"-Wno-maybe-uninitialized" clang:"-Wno-unused-but-set-variable" gcc,windows:"-Wno-error=array-bounds" + clang:"-Wno-unknown-warning-option" + clang-13:"-Wno-unused-but-set-variable" + clang-14:"-Wno-unused-but-set-variable" + clang-15:"-Wno-unused-but-set-variable" # Different typeinfos confuse ubsan norecover:static norecover:global ; -project - : default-build - - extra - - : requirements - - gcc:"-Wno-unused-but-set-variable" # Warnings in dependencies - clang:"-Wno-unknown-warning-option" - clang-13:"-Wno-unused-but-set-variable" # Warnings in dependencies - clang-14:"-Wno-unused-but-set-variable" # Warnings in dependencies - clang-15:"-Wno-unused-but-set-variable" # Warnings in dependencies - - ; - build-project extra ; build-project limits ; build-project unit ; - diff --git a/test/extra/Jamfile b/test/extra/Jamfile index 237fc5263..d3f7f1a40 100644 --- a/test/extra/Jamfile +++ b/test/extra/Jamfile @@ -11,7 +11,6 @@ import testing ; project : requirements - $(c11-requires) ../../extra/test_main.cpp . ../../extra diff --git a/test/limits/Jamfile b/test/limits/Jamfile index 8ef9973d5..af9edf191 100644 --- a/test/limits/Jamfile +++ b/test/limits/Jamfile @@ -11,7 +11,6 @@ import testing ; project : requirements - $(c11-requires) ../../extra/test_main.cpp . ../../extra diff --git a/test/unit/Jamfile b/test/unit/Jamfile index 38ea7d62d..76d107220 100644 --- a/test/unit/Jamfile +++ b/test/unit/Jamfile @@ -11,7 +11,6 @@ import testing ; project : requirements - $(c11-requires) /boost/filesystem//boost_filesystem/off /boost/url//boost_url ../../extra/test_main.cpp @@ -52,7 +51,6 @@ local SOURCES = segments_encoded_view.cpp segments_ref.cpp segments_view.cpp - snippets.cpp static_url.cpp string_view.cpp url.cpp @@ -64,7 +62,6 @@ local SOURCES = grammar/alnum_chars.cpp grammar/alpha_chars.cpp grammar/charset.cpp - grammar/ci_string.cpp grammar/dec_octet_rule.cpp grammar/delim_rule.cpp grammar/digit_chars.cpp From 0efa853655b38e286993f7df8771b31d6a194a5b Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 29 Mar 2024 21:16:00 -0500 Subject: [PATCH 02/12] 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 d41cec50c..0d6150628 100644 --- a/build.jam +++ b/build.jam @@ -20,17 +20,17 @@ constant c11-requires : project /boost/url : common-requirements - /boost/align//boost_align - /boost/assert//boost_assert - /boost/config//boost_config - /boost/core//boost_core - /boost/mp11//boost_mp11 - /boost/optional//boost_optional - /boost/static_assert//boost_static_assert - /boost/system//boost_system - /boost/throw_exception//boost_throw_exception - /boost/type_traits//boost_type_traits - /boost/variant2//boost_variant2 + /boost/align//boost_align + /boost/assert//boost_assert + /boost/config//boost_config + /boost/core//boost_core + /boost/mp11//boost_mp11 + /boost/optional//boost_optional + /boost/static_assert//boost_static_assert + /boost/system//boost_system + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits + /boost/variant2//boost_variant2 include : requirements $(c11-requires) From 26efc9fc0946322bf550b3427c456beabd3ae4b9 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 7 Apr 2024 11:16:47 -0500 Subject: [PATCH 03/12] Fix missing install targets. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index 0d6150628..3e38c0350 100644 --- a/build.jam +++ b/build.jam @@ -43,5 +43,5 @@ explicit ; call-if : boost-library url - : library boost_url + : install boost_url ; From 0847fc5ccbdf9a8789d1e5d0191676be603ea067 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 26 Apr 2024 22:16:40 -0500 Subject: [PATCH 04/12] 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 4dc9ac142..4060d4cda 100644 --- a/doc/Jamfile +++ b/doc/Jamfile @@ -11,7 +11,8 @@ project url/doc ; import boostbook ; import os ; -import ../../../tools/docca/docca.jam ; +import-search /boost/docca ; +import docca ; docca.reference reference.qbk From 98f431982155f6b41dff2723d58ddfb676a01fb8 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 28 Apr 2024 20:17:27 -0500 Subject: [PATCH 05/12] Add missing NO_LIB usage requirements. --- build/Jamfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/Jamfile b/build/Jamfile index a391785e8..932c97007 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -18,6 +18,8 @@ project : common-requirements shared:BOOST_URL_DYN_LINK=1 static:BOOST_URL_STATIC_LINK=1 + : usage-requirements + BOOST_URL_NO_LIB=1 : source-location ../src ; From 90dac0c7a9902efdae9604cfe9fea9582d056a30 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 4 May 2024 23:33:30 -0500 Subject: [PATCH 06/12] Add missing import-search for cconfig/predef checks. --- build.jam | 1 + 1 file changed, 1 insertion(+) diff --git a/build.jam b/build.jam index 3e38c0350..84cd18686 100644 --- a/build.jam +++ b/build.jam @@ -6,6 +6,7 @@ import-search /boost/config/checks ; import project ; +import-search /boost/config/checks ; import config : requires ; constant c11-requires : From 6901f9f6b90e3537c9711be314c195d8a0024492 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 09:00:01 -0500 Subject: [PATCH 07/12] 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 84cd18686..49129bc13 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-search /boost/config/checks ; import project ; From c5b3c53641444ba2bc6ce4ca92e947fb5a77032b Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 14 Jun 2024 11:33:56 -0500 Subject: [PATCH 08/12] Bump B2 require to 5.2 --- build.jam | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/build.jam b/build.jam index 49129bc13..bce840caa 100644 --- a/build.jam +++ b/build.jam @@ -3,11 +3,8 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -require-b2 5.1 ; +require-b2 5.2 ; -import-search /boost/config/checks ; - -import project ; import-search /boost/config/checks ; import config : requires ; From 61b0ac0e5e6043ee88eb9cbd59b7176fc6bd03da Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 22:52:05 -0500 Subject: [PATCH 09/12] Update copyright dates. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index bce840caa..74f9b19f2 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 682b8435d36a8ea0b9f7a4e81cc02b44ab589d01 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 23 Jul 2024 22:34:24 -0500 Subject: [PATCH 10/12] Move inter-lib dependencies to a project variable and into the build targets. --- build.jam | 25 ++++++++++++++----------- build/Jamfile | 1 + 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/build.jam b/build.jam index 74f9b19f2..a5077c3cb 100644 --- a/build.jam +++ b/build.jam @@ -18,19 +18,21 @@ constant c11-requires : ] ; +constant boost_dependencies : + /boost/align//boost_align + /boost/assert//boost_assert + /boost/config//boost_config + /boost/core//boost_core + /boost/mp11//boost_mp11 + /boost/optional//boost_optional + /boost/static_assert//boost_static_assert + /boost/system//boost_system + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits + /boost/variant2//boost_variant2 ; + project /boost/url : common-requirements - /boost/align//boost_align - /boost/assert//boost_assert - /boost/config//boost_config - /boost/core//boost_core - /boost/mp11//boost_mp11 - /boost/optional//boost_optional - /boost/static_assert//boost_static_assert - /boost/system//boost_system - /boost/throw_exception//boost_throw_exception - /boost/type_traits//boost_type_traits - /boost/variant2//boost_variant2 include : requirements $(c11-requires) @@ -45,3 +47,4 @@ explicit call-if : boost-library url : install boost_url ; + diff --git a/build/Jamfile b/build/Jamfile index 932c97007..2e4327284 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -9,6 +9,7 @@ # project + : common-requirements $(boost_dependencies) : requirements BOOST_URL_SOURCE msvc-14.0:no From c0621902152231049cd656902f93f15cb71b22d6 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 26 Jul 2024 21:37:46 -0500 Subject: [PATCH 11/12] Split b2 dependencies into public and private. --- build.jam | 1 - build/Jamfile | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/build.jam b/build.jam index a5077c3cb..b8ca93a94 100644 --- a/build.jam +++ b/build.jam @@ -27,7 +27,6 @@ constant boost_dependencies : /boost/optional//boost_optional /boost/static_assert//boost_static_assert /boost/system//boost_system - /boost/throw_exception//boost_throw_exception /boost/type_traits//boost_type_traits /boost/variant2//boost_variant2 ; diff --git a/build/Jamfile b/build/Jamfile index 2e4327284..7604b7cd7 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -8,9 +8,14 @@ # Official repository: https://github.com/vinniefalco/url # +constant boost_dependencies_private : + /boost/throw_exception//boost_throw_exception + ; + project : common-requirements $(boost_dependencies) : requirements + $(boost_dependencies_private) BOOST_URL_SOURCE msvc-14.0:no # Warnings in dependencies From 8a80c9f5f76347fa8f6a89ada91a457094aa5bd0 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 10 Aug 2024 20:44:18 -0500 Subject: [PATCH 12/12] Update build deps. --- build.jam | 15 --------------- build/Jamfile | 14 ++++++++++++++ test/extra/Jamfile | 1 + 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/build.jam b/build.jam index b8ca93a94..1e3ba3db4 100644 --- a/build.jam +++ b/build.jam @@ -5,19 +5,6 @@ require-b2 5.2 ; -import-search /boost/config/checks ; -import config : requires ; - -constant c11-requires : - [ requires - cxx11_constexpr - cxx11_decltype - cxx11_hdr_tuple - cxx11_template_aliases - cxx11_variadic_templates - ] - ; - constant boost_dependencies : /boost/align//boost_align /boost/assert//boost_assert @@ -33,8 +20,6 @@ constant boost_dependencies : project /boost/url : common-requirements include - : requirements - $(c11-requires) ; explicit diff --git a/build/Jamfile b/build/Jamfile index 7604b7cd7..bd4748fc8 100644 --- a/build/Jamfile +++ b/build/Jamfile @@ -8,6 +8,19 @@ # Official repository: https://github.com/vinniefalco/url # +import-search /boost/config/checks ; +import config : requires ; + +constant c11-requires : + [ requires + cxx11_constexpr + cxx11_decltype + cxx11_hdr_tuple + cxx11_template_aliases + cxx11_variadic_templates + ] + ; + constant boost_dependencies_private : /boost/throw_exception//boost_throw_exception ; @@ -16,6 +29,7 @@ project : common-requirements $(boost_dependencies) : requirements $(boost_dependencies_private) + $(c11-requires) BOOST_URL_SOURCE msvc-14.0:no # Warnings in dependencies diff --git a/test/extra/Jamfile b/test/extra/Jamfile index d3f7f1a40..ec910acb4 100644 --- a/test/extra/Jamfile +++ b/test/extra/Jamfile @@ -14,6 +14,7 @@ project ../../extra/test_main.cpp . ../../extra + /boost/assert//boost_assert ;