diff --git a/build.jam b/build.jam new file mode 100644 index 0000000..8dcb83a --- /dev/null +++ b/build.jam @@ -0,0 +1,24 @@ +# 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/predef//boost_predef + /boost/type_traits//boost_type_traits + windows:/boost/winapi//boost_winapi ; + +project /boost/atomic ; + +explicit + [ alias boost_atomic : build//boost_atomic ] + [ alias all : boost_atomic test ] + ; + +call-if : boost-library atomic + : install boost_atomic + ; diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index f42b020..df2df72 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -7,6 +7,8 @@ # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) +import-search /boost/config/checks ; + import common ; import config : requires ; import path ; @@ -15,12 +17,6 @@ import feature ; import configure ; import atomic-arch-config ; -local here = [ modules.binding $(__name__) ] ; - -project.push-current [ project.current ] ; -project.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ] ; -project.pop-current ; - lib synchronization ; explicit synchronization ; @@ -47,8 +43,13 @@ local cxx_requirements = [ requires cxx11_static_assert ] ; -project boost/atomic +project + : common-requirements + ../include + $(boost_dependencies) : requirements + /boost/align//boost_align + /boost/preprocessor//boost_preprocessor ../src multi shared:BOOST_ATOMIC_DYN_LINK=1 @@ -59,6 +60,7 @@ project boost/atomic : usage-requirements shared:BOOST_ATOMIC_DYN_LINK=1 static:BOOST_ATOMIC_STATIC_LINK=1 + BOOST_ATOMIC_NO_LIB=1 : source-location ../src ; @@ -150,5 +152,3 @@ lib boost_atomic @check-synchronization-lib $(cxx_requirements) ; - -boost-install boost_atomic ; diff --git a/build/atomic-arch-config.jam b/build/atomic-arch-config.jam index b31ab43..79d8173 100644 --- a/build/atomic-arch-config.jam +++ b/build/atomic-arch-config.jam @@ -19,23 +19,23 @@ rule deduce-architecture ( properties * ) } else { - if [ configure.builds /boost/architecture//x86 : $(properties) : "x86" ] + if [ configure.builds /boost/config/checks/architecture//x86 : $(properties) : "x86" ] { return x86 ; } - else if [ configure.builds /boost/architecture//arm : $(properties) : "arm" ] + else if [ configure.builds /boost/config/checks/architecture//arm : $(properties) : "arm" ] { return arm ; } - else if [ configure.builds /boost/architecture//mips1 : $(properties) : "mips1" ] + else if [ configure.builds /boost/config/checks/architecture//mips1 : $(properties) : "mips1" ] { return mips1 ; } - else if [ configure.builds /boost/architecture//power : $(properties) : "power" ] + else if [ configure.builds /boost/config/checks/architecture//power : $(properties) : "power" ] { return power ; } - else if [ configure.builds /boost/architecture//sparc : $(properties) : "sparc" ] + else if [ configure.builds /boost/config/checks/architecture//sparc : $(properties) : "sparc" ] { return sparc ; } @@ -51,11 +51,11 @@ rule deduce-address-model ( properties * ) } else { - if [ configure.builds /boost/architecture//32 : $(properties) : "32-bit" ] + if [ configure.builds /boost/config/checks/architecture//32 : $(properties) : "32-bit" ] { return 32 ; } - else if [ configure.builds /boost/architecture//64 : $(properties) : "64-bit" ] + else if [ configure.builds /boost/config/checks/architecture//64 : $(properties) : "64-bit" ] { return 64 ; }