import tools/boost\_install/boost-install ;
path-constant BOOST_ROOT : . ;
-constant BOOST_VERSION : 1.73.0 ;
+constant BOOST_VERSION : 1.79.0 ;
constant BOOST_JAMROOT_MODULE : $(__name__) ;
+# Allow subprojects to simply `import config : requires ;` to get access to the requires rule
+modules.poke : BOOST_BUILD_PATH : $(BOOST_ROOT)/libs/config/checks [ modules.peek : BOOST_BUILD_PATH ] ;
+
boostcpp.set-version $(BOOST_VERSION) ;
use-project /boost/architecture : libs/config/checks/architecture ;
# dangerous on Windows. Therefore, we disallow it. This might be drastic,
# but it was disabled for a while without anybody complaining.
- # For CW, static runtime is needed so that std::locale works.
- if <link>shared in $(properties) && <runtime-link>static in $(properties) &&
- ! ( <toolset>cw in $(properties) )
- {
- if ! $(.shared-static-warning-emitted)
- {
- ECHO "warning: skipping configuration link=shared, runtime-link=static" ;
- ECHO "warning: this combination is either impossible or too dangerous" ;
- ECHO "warning: to be of any use" ;
- .shared-static-warning-emitted = 1 ;
- }
+ local argv = [ modules.peek : ARGV ] ;
+ if <link>shared in $(properties)
+ && <runtime-link>static in $(properties)
+ # For CW, static runtime is needed so that std::locale works.
+ && ! ( <toolset>cw in $(properties) )
+ && ! --allow-shared-static in $(argv)
+ {
+ boostcpp.emit-shared-static-warning ;
return <build>no ;
}
}