From 2959b67a60949727994c4703d48cd343dd4709b0 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 11 Mar 2024 08:27:02 -0500 Subject: [PATCH 01/11] Make the library modular usable. --- build.jam | 27 +++++++++++++++++++++++++++ test/Jamfile.v2 | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 build.jam diff --git a/build.jam b/build.jam new file mode 100644 index 0000000..2a32493 --- /dev/null +++ b/build.jam @@ -0,0 +1,27 @@ +# 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/circular_buffer + : common-requirements + /boost/assert//boost_assert + /boost/concept_check//boost_concept_check + /boost/config//boost_config + /boost/core//boost_core + /boost/move//boost_move + /boost/static_assert//boost_static_assert + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits + include + ; + +explicit + [ alias boost_circular_buffer ] + [ alias all : boost_circular_buffer example test ] + ; + +call-if : boost-library circular_buffer + ; diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 7e1ae58..3fef24c 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -28,5 +28,5 @@ test-suite "circular_buffer" [ run space_optimized_test.cpp : : : single "BOOST_CB_ENABLE_DEBUG=1" : space_optimized_test_dbg ] [ run soft_iterator_invalidation.cpp : : : single : ] [ run constant_erase_test.cpp : : : single : ] - [ compile bounded_buffer_comparison.cpp : multi : ] + [ compile bounded_buffer_comparison.cpp : multi /boost/thread//boost_thread /boost/timer//boost_timer : ] ; From c0ed5c34b6f3e48dfa81e58a852ab42c792e507a Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 29 Mar 2024 21:15:58 -0500 Subject: [PATCH 02/11] Switch to library requirements instead of source. As source puts extra source in install targets. --- build.jam | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/build.jam b/build.jam index 2a32493..c32673f 100644 --- a/build.jam +++ b/build.jam @@ -7,14 +7,14 @@ import project ; project /boost/circular_buffer : common-requirements - /boost/assert//boost_assert - /boost/concept_check//boost_concept_check - /boost/config//boost_config - /boost/core//boost_core - /boost/move//boost_move - /boost/static_assert//boost_static_assert - /boost/throw_exception//boost_throw_exception - /boost/type_traits//boost_type_traits + /boost/assert//boost_assert + /boost/concept_check//boost_concept_check + /boost/config//boost_config + /boost/core//boost_core + /boost/move//boost_move + /boost/static_assert//boost_static_assert + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits include ; From 7f7d13fffb1a9da5a9d8a355c8d082d7ab29b10f Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 5 May 2024 09:00:00 -0500 Subject: [PATCH 03/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 c32673f..95b3e60 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/circular_buffer From d2f6eff9bdbf719d231eece6d8b69f4ee80fe4cb Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Fri, 14 Jun 2024 11:33:55 -0500 Subject: [PATCH 04/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 95b3e60..bd8c887 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/circular_buffer : common-requirements From 0d8027e6074da4b89e388bdaebd8e950cd8ef1dc Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 20 Jul 2024 22:52:04 -0500 Subject: [PATCH 05/11] Update copyright dates. --- build.jam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.jam b/build.jam index bd8c887..3225111 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 02ec070792e8a853e6bbfd8e9a5d4558c40da246 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 23 Jul 2024 22:34:23 -0500 Subject: [PATCH 06/11] Move inter-lib dependencies to a project variable and into the build targets. --- build.jam | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/build.jam b/build.jam index 3225111..a0bcbdf 100644 --- a/build.jam +++ b/build.jam @@ -5,23 +5,26 @@ require-b2 5.2 ; +constant boost_dependencies : + /boost/assert//boost_assert + /boost/concept_check//boost_concept_check + /boost/config//boost_config + /boost/core//boost_core + /boost/move//boost_move + /boost/static_assert//boost_static_assert + /boost/throw_exception//boost_throw_exception + /boost/type_traits//boost_type_traits ; + project /boost/circular_buffer : common-requirements - /boost/assert//boost_assert - /boost/concept_check//boost_concept_check - /boost/config//boost_config - /boost/core//boost_core - /boost/move//boost_move - /boost/static_assert//boost_static_assert - /boost/throw_exception//boost_throw_exception - /boost/type_traits//boost_type_traits include ; explicit - [ alias boost_circular_buffer ] + [ alias boost_circular_buffer : : : : $(boost_dependencies) ] [ alias all : boost_circular_buffer example test ] ; call-if : boost-library circular_buffer ; + From bbbdf89031cbb46f2691637ab723b359bbdd5777 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 28 Jul 2024 10:32:26 -0500 Subject: [PATCH 07/11] Adjust doc build to avoid boost-root references. --- doc/jamfile.v2 | 58 +++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/doc/jamfile.v2 b/doc/jamfile.v2 index 158be25..d27efea 100644 --- a/doc/jamfile.v2 +++ b/doc/jamfile.v2 @@ -6,7 +6,7 @@ # Use, modification and distribution is subject to # the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt +# (See accompanying file LICENSE_1_0.txt # or copy at http://www.boost.org/LICENSE_1_0.txt) path-constant nav_images : html/images/ ; # png and svg images for home, next, note, tip... @@ -16,7 +16,7 @@ path-constant here : . ; # location of /doc folder. # echo "nav_images = " $(nav_images) ; # "nav_images = I:\boost-trunk\libs\circular_buffer\doc\html\images # echo "images_location = " $(images_location) ; # images_location = I:\boost-trunk\libs\circular_buffer\doc\html\images -# echo "pdf_images_location = " $(pdf_images_location) # +# echo "pdf_images_location = " $(pdf_images_location) # import modules ; using auto-index ; using doxygen ; # Required if you want to use Doxygen. @@ -26,10 +26,10 @@ using quickbook ; doxygen autodoc : # List all the files individually (RECURSIVE=NO ). - [ glob ../../../boost/circular_buffer.hpp ] - [ glob ../../../boost/circular_buffer/base.hpp ] - [ glob ../../../boost/circular_buffer/space_optimized.hpp ] - + [ glob ../include/circular_buffer.hpp ] + [ glob ../include/circular_buffer/base.hpp ] + [ glob ../include/circular_buffer/space_optimized.hpp ] + : # Pass some setting parameters to Doxygen. WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile. @@ -38,14 +38,14 @@ doxygen autodoc # Much better to send message to a logfile than the default stderr. # and make sure that there are no Doxygen errors or significant warnings in the log file. RECURSIVE=NO # Search recursively down .hpp and .cpp subdirectories. - EXTRACT_ALL=NO - EXTRACT_PRIVATE=NO # NO means do not extract info about private member functions and data. + EXTRACT_ALL=NO + EXTRACT_PRIVATE=NO # NO means do not extract info about private member functions and data. HIDE_UNDOC_MEMBERS=YES # Only show members that have some documentation like \param, \return ... MACRO_EXPANSION=YES # YES will expand all macro names in the source code (default = NO). EXPAND_ONLY_PREDEF=YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the PREDEFINED and EXPAND_AS_DEFINED tags. # If EXPAND_ONLY_PREDEF tag can be used to specify a list of macro names that should be expanded (as defined). - # The PREDEFINED tag can be used to specify one or more macro names that are defined + # The PREDEFINED tag can be used to specify one or more macro names that are defined # before the preprocessor is started (similar to the -D option of gcc). # The argument of the tag is a list of macros of the form: # name or name=definition (no spaces). @@ -78,17 +78,17 @@ doxygen autodoc EXCLUDE_SYMBOLS=*_throws # IMAGE_PATH="../images" # for circular_buffer.png # See autodoxywarnings.log to check this is correct. - + # The syntax hoops to jump through are 'interesting' for more than one PREDEFINED, # and to permit spaces within definitions (use double quotes). # Don't forget that every double quote " needs a preceding \trip character! # and that each trailing continuation \ needs a preceding \trip character too! # And finally that if more than one item is included (as here) the whole is # enclosed in "PREDEFINED=... ", but without a leading \. Go figure... - + # A grep for PREDEFINED= in jamfiles will reveal even more complex examples. # Boost Libraries with useful examples are: Accumulators, Interprocess, MPI, Random, Units, Expressive. - + # Optionally, you can provide a Reference section name specific for your library, for example: "boost.doxygen.reftitle=Boost.Circular_buffer C++ Reference" ; @@ -101,7 +101,7 @@ boostbook standalone : circular_buffer : - + # General settings # ================= html:boost.root=../../../.. @@ -118,7 +118,7 @@ boostbook standalone page.margin.outer=0.5in # Yes, we want graphics for admonishments: admon.graphics=1 - + # HTML options: # ============= # Use graphics icons not text for navigation: @@ -137,27 +137,27 @@ boostbook standalone html:html.cellspacing=3 # pixels # Vertical spacing in table cells. html:html.cellpadding=5 # pixels - # Not sure if these are right way round? - + # Not sure if these are right way round? + on # Turns on index (or off). # Turns on (or off) index-verbose for diagnostic info (using /bin auto-index-verbose folders). - on - + on + pdf:off # on (or off) to use internally generated indexes. - + html:index.on.type=1 # = 1 For the native stylesheets to generate multiple different indexes. - - circular_buffer.idx # Specifies the name of the script to load for circular_buffer. + + circular_buffer.idx # Specifies the name of the script to load for circular_buffer. ../../.. # Will get you back up to /circular_buffer, so !scan-path "boost/circular_buffer/" is where *.hpp will be, # and /libs/circular_buffer for other files. # Without this would need !scan-path "../../../boost/circular_buffer" - + # Used by Quickbook to invoke indexing. # Required by boost-trunk/doc/ see jamfile.v2 to use auto-index. # Choose indexing method for html: html:on docbook:on - + # PDF Options: # ============ # TOC Generation: this is needed for FOP-0.9 and later: @@ -172,10 +172,10 @@ boostbook standalone page.margin.inner=0.5in # Margin size: page.margin.outer=0.5in - + # Yes, we want graphics for admonishments: admon.graphics=1 - + # Set these one for PDF generation *only*: # default png graphics are awful in PDF form, # better use SVG instead: @@ -183,19 +183,19 @@ boostbook standalone #pdf:admon.graphics.extension=".png" # Only png images are available. # Don't need this, default path works OK: #pdf:admon.graphics.path=$(nav_images)/ # next, prev, note, tip ... for pdf. - pdf:use.role.for.mediaobject=1 + pdf:use.role.for.mediaobject=1 pdf:preferred.mediaobject.role=print pdf:img.src.path=$(pdf_images_location)/ # graphics (diagrams) for pdf. pdf:draft.mode="no" pdf:boost.url.prefix=../../../.. - - autodoc # + + autodoc # png_install ; # Install (copy) the 'master' copies of all icon images (both PNG and SVG) # and the Boost logo from your current Boost-root -# to the local /doc/html/images folder so that html is complete and standalone. +# to the local /doc/html/images folder so that html is complete and standalone. install png_install : [ glob $(here)/*.png ] : $(here)/../../../doc/html/images ; # install pdf-install : standalone : PDF . ; From c456d21adbe6667cd480700aed794c8783f0fa99 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 28 Jul 2024 10:40:37 -0500 Subject: [PATCH 08/11] Fix doc include path refs. --- doc/jamfile.v2 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/jamfile.v2 b/doc/jamfile.v2 index d27efea..d3eb932 100644 --- a/doc/jamfile.v2 +++ b/doc/jamfile.v2 @@ -26,9 +26,9 @@ using quickbook ; doxygen autodoc : # List all the files individually (RECURSIVE=NO ). - [ glob ../include/circular_buffer.hpp ] - [ glob ../include/circular_buffer/base.hpp ] - [ glob ../include/circular_buffer/space_optimized.hpp ] + [ glob ../include/boost/circular_buffer.hpp ] + [ glob ../include/boost/circular_buffer/base.hpp ] + [ glob ../include/boost/circular_buffer/space_optimized.hpp ] : # Pass some setting parameters to Doxygen. From 36ac5b3a299640d762a05dc3e67ed5a5ba4a7920 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Wed, 31 Jul 2024 08:32:04 -0500 Subject: [PATCH 09/11] Update build deps. --- test/Jamfile.v2 | 1 + 1 file changed, 1 insertion(+) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 3fef24c..0aa6f3a 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -13,6 +13,7 @@ import testing ; project : requirements + /boost/circular_buffer//boost_circular_buffer msvc:all msvc:on msvc:_SCL_SECURE_NO_WARNINGS From c7f6164f324979d7a7c12ea893e3f4e7175d2082 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Thu, 17 Apr 2025 08:37:16 -0500 Subject: [PATCH 10/11] Move include to target. --- build.jam | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build.jam b/build.jam index a0bcbdf..e529ce7 100644 --- a/build.jam +++ b/build.jam @@ -17,11 +17,12 @@ constant boost_dependencies : project /boost/circular_buffer : common-requirements - include + ; explicit - [ alias boost_circular_buffer : : : : $(boost_dependencies) ] + [ alias boost_circular_buffer : : : + : include $(boost_dependencies) ] [ alias all : boost_circular_buffer example test ] ; From 243f4a4b5408fb1466146301780e34789caed14c Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Thu, 22 Jan 2026 19:43:15 +0300 Subject: [PATCH 11/11] Remove dependencies on Boost.StaticAssert. Boost.StaticAssert has been merged into Boost.Config, so remove the dependency. --- CMakeLists.txt | 1 - build.jam | 1 - 2 files changed, 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e0d522c..3a3a5b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,6 @@ target_link_libraries(boost_circular_buffer INTERFACE Boost::config Boost::core Boost::move - Boost::static_assert Boost::throw_exception Boost::type_traits ) diff --git a/build.jam b/build.jam index e529ce7..0de8395 100644 --- a/build.jam +++ b/build.jam @@ -11,7 +11,6 @@ constant boost_dependencies : /boost/config//boost_config /boost/core//boost_core /boost/move//boost_move - /boost/static_assert//boost_static_assert /boost/throw_exception//boost_throw_exception /boost/type_traits//boost_type_traits ;