2020-11-07 05:30:37 +08:00
|
|
|
constant BOOST_VERSION : 1.74.0 ;
|
|
|
|
constant BOOST_VERSION_ABI_TAG : 1_74 ;
|
2017-12-06 05:00:50 +08:00
|
|
|
constant BOOST_JAMROOT_MODULE : $(__name__) ;
|
|
|
|
|
|
|
|
import boostcpp ;
|
|
|
|
import feature ;
|
|
|
|
|
|
|
|
boostcpp.set-version $(BOOST_VERSION) ;
|
|
|
|
|
|
|
|
project boost : requirements
|
2018-02-02 07:44:22 +08:00
|
|
|
<include>include&&"@CURRENT_INSTALLED_DIR@/include"
|
2017-12-06 05:00:50 +08:00
|
|
|
<define>BOOST_ALL_NO_LIB=1
|
|
|
|
<tag>@$(__name__).tag
|
2020-05-14 01:26:05 +08:00
|
|
|
@B2_REQUIREMENTS@
|
2017-12-06 05:00:50 +08:00
|
|
|
;
|
|
|
|
|
|
|
|
rule boost-install ( libraries * )
|
|
|
|
{
|
|
|
|
stagedir = [ option.get stagedir ] ;
|
|
|
|
install stage
|
|
|
|
: $(libraries)
|
|
|
|
: <location>$(stagedir)/lib ;
|
|
|
|
}
|
|
|
|
|
|
|
|
rule tag ( name : type ? : property-set )
|
|
|
|
{
|
|
|
|
return [ boostcpp.tag $(name) : $(type) : $(property-set) ] ;
|
|
|
|
}
|
|
|
|
|
|
|
|
rule python-tag ( name : type ? : property-set )
|
|
|
|
{
|
|
|
|
return [ tag $(name) : $(type) : $(property-set) ] ;
|
|
|
|
}
|
|
|
|
|
|
|
|
if "@PORT@" != "boost-system"
|
|
|
|
{
|
|
|
|
use-project /boost/system : . ;
|
|
|
|
|
2020-08-11 08:36:10 +08:00
|
|
|
lib boost_system : : <file>"@CURRENT_INSTALLED_DIR@/@BUILD_LIB_PATH@@BOOST_LIB_PREFIX@boost_system@BOOST_LIB_SUFFIX@" <variant>@VARIANT@ ;
|
2017-12-06 05:00:50 +08:00
|
|
|
explicit boost_system ;
|
2018-04-18 06:18:09 +08:00
|
|
|
|
|
|
|
use-project /boost : . ;
|
|
|
|
alias system : boost_system ;
|
2017-12-06 05:00:50 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
if "@PORT@" != "boost-chrono"
|
|
|
|
{
|
|
|
|
use-project /boost/chrono : . ;
|
|
|
|
|
2020-08-11 08:36:10 +08:00
|
|
|
lib boost_chrono : : <file>"@CURRENT_INSTALLED_DIR@/@BUILD_LIB_PATH@@BOOST_LIB_PREFIX@boost_chrono@BOOST_LIB_SUFFIX@" <variant>@VARIANT@ ;
|
2017-12-06 05:00:50 +08:00
|
|
|
explicit boost_chrono ;
|
|
|
|
}
|
|
|
|
|
|
|
|
if "@PORT@" != "boost-regex"
|
|
|
|
{
|
|
|
|
use-project /boost/regex : . ;
|
|
|
|
|
2020-08-11 08:36:10 +08:00
|
|
|
lib boost_regex : : <file>"@CURRENT_INSTALLED_DIR@/@BUILD_LIB_PATH@@BOOST_LIB_PREFIX@boost_regex@BOOST_LIB_SUFFIX@" <variant>@VARIANT@ ;
|
2017-12-06 05:00:50 +08:00
|
|
|
explicit boost_regex ;
|
|
|
|
}
|
|
|
|
|
|
|
|
if "@PORT@" != "boost-date-time"
|
|
|
|
{
|
|
|
|
use-project /boost/date_time : . ;
|
|
|
|
|
2020-08-11 08:36:10 +08:00
|
|
|
lib boost_date_time : : <file>"@CURRENT_INSTALLED_DIR@/@BUILD_LIB_PATH@@BOOST_LIB_PREFIX@boost_date_time@BOOST_LIB_SUFFIX@" <variant>@VARIANT@ -<library>/boost/date_time//boost_date_time ;
|
2017-12-06 05:00:50 +08:00
|
|
|
explicit boost_date_time ;
|
|
|
|
}
|
|
|
|
|
|
|
|
if "@PORT@" != "boost-thread"
|
|
|
|
{
|
|
|
|
use-project /boost/thread : . ;
|
|
|
|
|
2020-08-11 08:36:10 +08:00
|
|
|
lib boost_thread : : <file>"@CURRENT_INSTALLED_DIR@/@BUILD_LIB_PATH@@BOOST_LIB_PREFIX@boost_thread@BOOST_LIB_SUFFIX@" <variant>@VARIANT@ : : <library>/boost/date_time//boost_date_time ;
|
2017-12-06 05:00:50 +08:00
|
|
|
explicit boost_thread ;
|
|
|
|
}
|
|
|
|
|
|
|
|
if "@PORT@" != "boost-timer"
|
|
|
|
{
|
|
|
|
use-project /boost/timer : . ;
|
|
|
|
|
2020-08-11 08:36:10 +08:00
|
|
|
lib boost_timer : : <file>"@CURRENT_INSTALLED_DIR@/@BUILD_LIB_PATH@@BOOST_LIB_PREFIX@boost_timer@BOOST_LIB_SUFFIX@" <variant>@VARIANT@ ;
|
2017-12-06 05:00:50 +08:00
|
|
|
explicit boost_timer ;
|
|
|
|
}
|
|
|
|
|
|
|
|
if "@PORT@" != "boost-filesystem"
|
|
|
|
{
|
|
|
|
use-project /boost/filesystem : . ;
|
|
|
|
|
2020-08-11 08:36:10 +08:00
|
|
|
lib boost_filesystem : : <file>"@CURRENT_INSTALLED_DIR@/@BUILD_LIB_PATH@@BOOST_LIB_PREFIX@boost_filesystem@BOOST_LIB_SUFFIX@" <variant>@VARIANT@ : : <library>/boost/system//boost_system ;
|
2017-12-06 05:00:50 +08:00
|
|
|
explicit boost_filesystem ;
|
|
|
|
}
|
|
|
|
|
|
|
|
if "@PORT@" != "boost-atomic"
|
|
|
|
{
|
|
|
|
use-project /boost/atomic : . ;
|
|
|
|
|
2020-08-11 08:36:10 +08:00
|
|
|
lib boost_atomic : : <file>"@CURRENT_INSTALLED_DIR@/@BUILD_LIB_PATH@@BOOST_LIB_PREFIX@boost_atomic@BOOST_LIB_SUFFIX@" <variant>@VARIANT@ ;
|
2017-12-06 05:00:50 +08:00
|
|
|
explicit boost_atomic ;
|
|
|
|
}
|
|
|
|
|
|
|
|
if "@PORT@" != "boost-context"
|
|
|
|
{
|
|
|
|
feature.feature segmented-stacks : on : optional propagated composite ;
|
|
|
|
feature.compose <segmented-stacks>on : <define>BOOST_USE_SEGMENTED_STACKS ;
|
|
|
|
|
|
|
|
use-project /boost/context : . ;
|
|
|
|
|
2020-08-11 08:36:10 +08:00
|
|
|
lib boost_context : : <file>"@CURRENT_INSTALLED_DIR@/@BUILD_LIB_PATH@@BOOST_LIB_PREFIX@boost_context@BOOST_LIB_SUFFIX@" <variant>@VARIANT@ ;
|
2017-12-06 05:00:50 +08:00
|
|
|
explicit boost_context ;
|
|
|
|
}
|
|
|
|
|
|
|
|
if "@PORT@" != "boost-test"
|
|
|
|
{
|
|
|
|
use-project /boost/test : . ;
|
|
|
|
|
2020-08-11 08:36:10 +08:00
|
|
|
lib boost_unit_test_framework : : <file>"@CURRENT_INSTALLED_DIR@/@BUILD_LIB_PATH@@BOOST_LIB_PREFIX@boost_unit_test_framework@BOOST_LIB_SUFFIX@" <variant>@VARIANT@ ;
|
2017-12-06 05:00:50 +08:00
|
|
|
explicit boost_unit_test_framework ;
|
|
|
|
}
|
|
|
|
|
2018-02-17 19:54:43 +08:00
|
|
|
if "@PORT@" != "boost-serialization"
|
|
|
|
{
|
|
|
|
use-project /boost/serialization : . ;
|
|
|
|
|
2020-08-11 08:36:10 +08:00
|
|
|
lib boost_serialization : : <file>"@CURRENT_INSTALLED_DIR@/@BUILD_LIB_PATH@@BOOST_LIB_PREFIX@boost_serialization@BOOST_LIB_SUFFIX@" <variant>@VARIANT@ ;
|
2018-02-17 19:54:43 +08:00
|
|
|
explicit boost_serialization ;
|
|
|
|
}
|
|
|
|
|
2017-12-06 05:00:50 +08:00
|
|
|
rule requires ( foo * )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
rule boost-lib ( name : sources * : requirements * : default-build * : usage-requirements * )
|
|
|
|
{
|
|
|
|
name = boost_$(name) ;
|
|
|
|
lib $(name) : $(sources) : $(requirements) : $(default-build) : $(usage-requirements) ;
|
|
|
|
boost-install $(name) ;
|
|
|
|
}
|
|
|
|
|
|
|
|
use-project /boost/@PORT@ : build ;
|
|
|
|
|
|
|
|
build-project build ;
|