diff --git a/Jamfile.v2 b/Jamfile.v2 deleted file mode 100644 index 8333597f0..000000000 --- a/Jamfile.v2 +++ /dev/null @@ -1,5 +0,0 @@ -import testing ; - -# Tests from Jamfiles in individual library test subdirectories -build-project example ; # test-suite interprocess_example -build-project test ; # test-suite interprocess_test \ No newline at end of file diff --git a/build.jam b/build.jam new file mode 100644 index 000000000..0fcf65526 --- /dev/null +++ b/build.jam @@ -0,0 +1,31 @@ +# 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) + +require-b2 5.2 ; + +constant boost_dependencies : + /boost/assert//boost_assert + /boost/config//boost_config + /boost/container//boost_container + /boost/core//boost_core + /boost/intrusive//boost_intrusive + /boost/move//boost_move + /boost/static_assert//boost_static_assert + /boost/type_traits//boost_type_traits + /boost/winapi//boost_winapi ; + +project /boost/interprocess + : common-requirements + include + ; + +explicit + [ alias boost_interprocess : : : : $(boost_dependencies) ] + [ alias all : boost_interprocess example test ] + ; + +call-if : boost-library interprocess + ; + diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index c7cd0cb29..3dabec01e 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -15,15 +15,15 @@ path-constant here : . ; doxygen autodoc : - [ glob ../../../boost/interprocess/*.hpp ] - [ glob ../../../boost/interprocess/allocators/*.hpp ] - [ glob ../../../boost/interprocess/containers/*.hpp ] - [ glob ../../../boost/interprocess/indexes/*.hpp ] - [ glob ../../../boost/interprocess/ipc/*.hpp ] - [ glob ../../../boost/interprocess/mem_algo/*.hpp ] - [ glob ../../../boost/interprocess/smart_ptr/*.hpp ] - [ glob ../../../boost/interprocess/streams/*.hpp ] - [ glob ../../../boost/interprocess/sync/*.hpp ] + [ glob ../include/boost/interprocess/*.hpp ] + [ glob ../include/boost/interprocess/allocators/*.hpp ] + [ glob ../include/boost/interprocess/containers/*.hpp ] + [ glob ../include/boost/interprocess/indexes/*.hpp ] + [ glob ../include/boost/interprocess/ipc/*.hpp ] + [ glob ../include/boost/interprocess/mem_algo/*.hpp ] + [ glob ../include/boost/interprocess/smart_ptr/*.hpp ] + [ glob ../include/boost/interprocess/streams/*.hpp ] + [ glob ../include/boost/interprocess/sync/*.hpp ] : EXTRACT_ALL=NO HIDE_UNDOC_MEMBERS=YES diff --git a/doc/interprocess.qbk b/doc/interprocess.qbk index 0c2e72c60..72eb24f3c 100644 --- a/doc/interprocess.qbk +++ b/doc/interprocess.qbk @@ -4298,7 +4298,7 @@ be also useful to build small databases for embedded systems limiting the size o the used memory to a predefined memory chunk, instead of letting the database fragment the heap memory. -[*Note:] The external memory supplied by the user shall be aligned to the maximum value between +[*Note:] The external memory supplied by the user shall be aligned to the maximum value between `alignof(max_align_t)` and the alignment of the strictest over-aligned type to be built inside that memory. @@ -6528,7 +6528,7 @@ will manage the index. `segment_manager` will define interesting internal types For example, the index type `flat_map_index` based in `boost::interprocess::flat_map` is just defined as: -[import ../../../boost/interprocess/indexes/flat_map_index.hpp] +[import ../include/boost/interprocess/indexes/flat_map_index.hpp] [flat_map_index] @@ -6622,8 +6622,8 @@ define `BOOST_INTERPROCESS_SHARED_DIR_FUNC` and implement the following function [c++] - namespace boost { - namespace interprocess { + namespace boost { + namespace interprocess { namespace ipcdetail { void get_shared_dir(std::string &shared_dir); //wstring overload is only needed for Windows systems @@ -6651,13 +6651,13 @@ those heavy headers. On systems without POSIX shared memory support, shared memory objects are implemented as memory mapped files, using a directory placed in "/tmp" that can include (if `BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME` is defined) the last bootup time (if the OS supports it). As in Windows, in any error case obtaining this directory the library throws an error . When your shared directory is a compile-time constant, -define `BOOST_INTERPROCESS_SHARED_DIR_PATH` when using the library and that path will be used to place shared memory files. When you have -to determine the shared directory at runtime, define `BOOST_INTERPROCESS_SHARED_DIR_FUNC` and implement the function +define `BOOST_INTERPROCESS_SHARED_DIR_PATH` when using the library and that path will be used to place shared memory files. When you have +to determine the shared directory at runtime, define `BOOST_INTERPROCESS_SHARED_DIR_FUNC` and implement the function [c++] - namespace boost { - namespace interprocess { + namespace boost { + namespace interprocess { namespace ipcdetail { void get_shared_dir(std::string &shared_dir); } @@ -7059,7 +7059,7 @@ thank them: * [@https://svn.boost.org/trac/boost/ticket/10229 Trac #10229 (['"Compiling errors in interprocess\detail\os_file_functions.hpp"])]. * [@https://svn.boost.org/trac/boost/ticket/10506 Trac #10506 (['"Infinite loop in create_or_open_file"])]. * [@https://github.com/boostorg/interprocess/pull/11 GitHub Pull #11 (['"Compile fix for BOOST_USE_WINDOWS_H"])]. - + * Reorganized Doxygen marks to obtain a better header reference. [endsect] diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index 22da3e089..6a306f2e4 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -11,42 +11,36 @@ # 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 testing ; + # this rule enumerates through all the sources and invokes # the run rule for each source, the result is a list of all # the run rules, which we can pass on to the test_suite rule: +project : requirements + /boost/interprocess//boost_interprocess + acc:-lrt + acc-pa_risc:-lrt + gcc,windows:"-lole32 -loleaut32 -lpsapi -ladvapi32" + hpux,gcc:"-Wl,+as,mpas" + windows,clang:"-lole32 -loleaut32 -lpsapi -ladvapi32" + linux:"-lrt" + /boost/multi_index//boost_multi_index + /boost/unordered//boost_unordered + ; + rule test_all { local all_rules = ; for local fileb in [ glob comp*.cpp ] { - all_rules += [ link $(fileb) - : # additional args - acc:-lrt - acc-pa_risc:-lrt - gcc,windows:"-lole32 -loleaut32 -lpsapi -ladvapi32" - hpux,gcc:"-Wl,+as,mpas" - windows,clang:"-lole32 -loleaut32 -lpsapi -ladvapi32" - linux:"-lrt" - : # test-files - : # requirements - ] ; + all_rules += [ link $(fileb) ] ; } for local fileb in [ glob doc_*.cpp ] { - all_rules += [ run $(fileb) - : # additional args - : # test-files - : # requirements - acc:-lrt - acc-pa_risc:-lrt - gcc-mingw:"-lole32 -loleaut32 -lpsapi -ladvapi32" - hpux,gcc:"-Wl,+as,mpas" - windows,clang:"-lole32 -loleaut32 -lpsapi -ladvapi32" - linux:"-lrt" - ] ; + all_rules += [ run $(fileb) ] ; } return $(all_rules) ; diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index a09bf8f28..c03c32ca9 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -15,23 +15,25 @@ # the run rule for each source, the result is a list of all # the run rules, which we can pass on to the test_suite rule: +project : requirements + /boost/interprocess//boost_interprocess + /boost/date_time//boost_date_time + acc:-lrt + acc-pa_risc:-lrt + gcc,windows:"-lole32 -loleaut32 -lpsapi -ladvapi32" + hpux,gcc:"-Wl,+as,mpas" + windows,clang:"-lole32 -loleaut32 -lpsapi -ladvapi32" + linux:"-lrt" + /boost/chrono//boost_chrono + ; + rule test_all { local all_rules = ; for local fileb in [ glob *.cpp ] { - all_rules += [ run $(fileb) - : # additional args - : # test-files - : # requirements - acc:-lrt - acc-pa_risc:-lrt - gcc,windows:"-lole32 -loleaut32 -lpsapi -ladvapi32" - hpux,gcc:"-Wl,+as,mpas" - windows,clang:"-lole32 -loleaut32 -lpsapi -ladvapi32" - linux:"-lrt" - ] ; + all_rules += [ run $(fileb) ] ; } return $(all_rules) ;