diff --git a/build.jam b/build.jam new file mode 100644 index 00000000..27e70aec --- /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/context//boost_context + /boost/core//boost_core + /boost/intrusive//boost_intrusive + /boost/predef//boost_predef + /boost/smart_ptr//boost_smart_ptr ; + +project /boost/fiber + : common-requirements + include + ; + +explicit + [ alias boost_fiber : build//boost_fiber ] + [ alias boost_fiber_numa : build//boost_fiber_numa ] + [ alias all : boost_fiber examples examples/numa performance/fiber performance/fiber/numa test ] + ; + +call-if : boost-library fiber + : install boost_fiber boost_fiber_numa + ; + diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index b65ddb28..e4779386 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -9,13 +9,24 @@ import feature ; import modules ; import testing ; import toolset ; -import ../../config/checks/config : requires ; +import-search /boost/config/checks ; +import config : requires ; +import-search /boost/context ; +import boost-context-features ; feature.feature numa : on : optional propagated composite ; feature.compose on : BOOST_USE_NUMA ; -project boost/fiber +constant boost_dependencies_private : + /boost/algorithm//boost_algorithm + /boost/filesystem//boost_filesystem + /boost/format//boost_format + ; + +project + : common-requirements $(boost_dependencies) : requirements + $(boost_dependencies_private) /boost/context//boost_context /boost/filesystem//boost_filesystem solaris:"-llgrp" @@ -31,6 +42,7 @@ project boost/fiber shared:BOOST_FIBERS_DYN_LINK=1 speed:BOOST_DISABLE_ASSERTS release:BOOST_DISABLE_ASSERTS + BOOST_FIBERS_NO_LIB=1 : source-location ../src ; @@ -65,7 +77,7 @@ lib boost_fiber recursive_timed_mutex.cpp timed_mutex.cpp scheduler.cpp - : shared:../../context/build//boost_context + : shared:/boost/context//boost_context [ requires cxx11_auto_declarations cxx11_constexpr cxx11_defaulted_functions @@ -145,6 +157,3 @@ lib boost_fiber_numa cxx11_thread_local cxx11_variadic_templates ] ; - - -boost-install boost_fiber boost_fiber_numa ; diff --git a/examples/Jamfile.v2 b/examples/Jamfile.v2 index 75dddf12..0657eb2d 100644 --- a/examples/Jamfile.v2 +++ b/examples/Jamfile.v2 @@ -14,7 +14,7 @@ import modules ; import os ; import toolset ; -project boost/fiber/example +project : requirements ../build//boost_fiber /boost/context//boost_context @@ -42,12 +42,12 @@ exe range_for : range_for.cpp ; exe priority : priority.cpp ; exe segmented_stack : segmented_stack.cpp ; exe simple : simple.cpp ; -exe wait_stuff : wait_stuff.cpp ; +exe wait_stuff : wait_stuff.cpp /boost/variant//boost_variant ; exe work_sharing : work_sharing.cpp ; exe work_stealing : work_stealing.cpp ; -exe asio/autoecho : asio/autoecho.cpp ; -exe asio/exchange : asio/exchange.cpp ; -exe asio/ps/publisher : asio/ps/publisher.cpp ; -exe asio/ps/server : asio/ps/server.cpp ; -exe asio/ps/subscriber : asio/ps/subscriber.cpp ; +exe asio/autoecho : asio/autoecho.cpp /boost/asio//boost_asio ; +exe asio/exchange : asio/exchange.cpp /boost/asio//boost_asio ; +exe asio/ps/publisher : asio/ps/publisher.cpp /boost/asio//boost_asio ; +exe asio/ps/server : asio/ps/server.cpp /boost/asio//boost_asio ; +exe asio/ps/subscriber : asio/ps/subscriber.cpp /boost/asio//boost_asio ; diff --git a/examples/numa/Jamfile.v2 b/examples/numa/Jamfile.v2 index 15420cb5..ae5430e0 100644 --- a/examples/numa/Jamfile.v2 +++ b/examples/numa/Jamfile.v2 @@ -14,7 +14,7 @@ import modules ; import os ; import toolset ; -project boost/fiber/example/numa +project : requirements ../../build//boost_fiber ../../build//boost_fiber_numa diff --git a/performance/fiber/Jamfile.v2 b/performance/fiber/Jamfile.v2 index 4727be31..b5ba8aa0 100644 --- a/performance/fiber/Jamfile.v2 +++ b/performance/fiber/Jamfile.v2 @@ -13,7 +13,7 @@ import modules ; import os ; import toolset ; -project boost/fiber/performance/fiber +project : requirements /boost/fiber//boost_fiber /boost/fiber//boost_fiber_numa diff --git a/performance/fiber/numa/Jamfile.v2 b/performance/fiber/numa/Jamfile.v2 index 30f3a7f9..f6c6c847 100644 --- a/performance/fiber/numa/Jamfile.v2 +++ b/performance/fiber/numa/Jamfile.v2 @@ -13,7 +13,7 @@ import modules ; import os ; import toolset ; -project boost/fiber/performance/fiber/numa +project : requirements /boost/fiber//boost_fiber solaris:"-llgrp" diff --git a/performance/thread/Jamfile.v2 b/performance/thread/Jamfile.v2 index baa18210..bc612e3c 100644 --- a/performance/thread/Jamfile.v2 +++ b/performance/thread/Jamfile.v2 @@ -13,7 +13,7 @@ import modules ; import os ; import toolset ; -project boost/fiber/performance/thread +project : requirements static multi diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 4e45022f..d38f1b0f 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -13,11 +13,12 @@ import os ; import path ; import testing ; import toolset ; -import ../../config/checks/config : requires ; +import-search /boost/config/checks ; +import config : requires ; -project boost/fiber/test +project : requirements - ../../test/build//boost_unit_test_framework + /boost/test//boost_unit_test_framework /boost/context//boost_context /boost/fiber//boost_fiber /boost/thread//boost_thread