vcpkg/ports/boost-modular-build-helper/Jamroot.jam
yurybura c50852aba0 [boost] Update to 1.72.0 (#9317)
* [boost-python] Support Python2 as feature, fix build with installed Python2

* [boost-python] Update generate script to support Python2 mod

* Re-generate boost ports

* [boost-modular-build-helper] Update to 1.71.
[boost-build] Update to 1.71.

* [boost-modular-build-helper] Remove manual library name changing
[boost-iostreams] Use boost-modular-headers.cmake script

* Delete temporary file.

* Revert changes in modular build script.

* Update ports versions.

* [boost-modular-build-helper] Fix build boost-iostreams with LZMA and ZSTD

* [boost] Update to 1.72.0

* [libtorrent] Fix build with Boost 1.72.0
Original PR: https://github.com/arvidn/libtorrent/pull/4091

* Update ci.baseline.txt:
- fail libgo:* due to use the removed class from Boost.Context 1.72.0 (reported issue https://github.com/yyzybb537/libgo/issues/214)
- pass boost-context:arm64-windows
- fix typo

* Folly only supports the x64 architecture

* fail boost-coroutine:arm64-windows=fail and boost-fiber:arm64-windows=fail because they use fcontext_t from Boost.Context which is not implemented for Windows on ARM64 (reported issue https://github.com/boostorg/context/issues/130)

* Fix globbing-expressions

* Add vcpkg_buildpath_length_warning(37) for boost-system.
Revert boost-iostreams port changes.

* Update ci.baseline.txt
2020-01-16 15:10:15 -08:00

154 lines
5.9 KiB
Plaintext

constant BOOST_VERSION : 1.72.0 ;
constant BOOST_VERSION_ABI_TAG : 1_72 ;
constant BOOST_JAMROOT_MODULE : $(__name__) ;
import boostcpp ;
import feature ;
boostcpp.set-version $(BOOST_VERSION) ;
project boost : requirements
<include>include&&"@CURRENT_INSTALLED_DIR@/include"
<define>BOOST_ALL_NO_LIB=1
<tag>@$(__name__).tag
@REQUIREMENTS@
;
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 : . ;
lib boost_system : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_system@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
lib boost_system : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_system@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
explicit boost_system ;
use-project /boost : . ;
alias system : boost_system ;
}
if "@PORT@" != "boost-chrono"
{
use-project /boost/chrono : . ;
lib boost_chrono : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_chrono@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
lib boost_chrono : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_chrono@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
explicit boost_chrono ;
}
if "@PORT@" != "boost-regex"
{
use-project /boost/regex : . ;
lib boost_regex : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_regex@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
lib boost_regex : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_regex@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
explicit boost_regex ;
}
if "@PORT@" != "boost-date-time"
{
use-project /boost/date_time : . ;
lib boost_date_time : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_date_time@BOOST_LIB_RELEASE_SUFFIX@" <variant>release -<library>/boost/date_time//boost_date_time ;
lib boost_date_time : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_date_time@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug -<library>/boost/date_time//boost_date_time ;
explicit boost_date_time ;
}
if "@PORT@" != "boost-thread"
{
use-project /boost/thread : . ;
lib boost_thread : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_thread@BOOST_LIB_RELEASE_SUFFIX@" <variant>release : : <library>/boost/date_time//boost_date_time ;
lib boost_thread : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_thread@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug : : <library>/boost/date_time//boost_date_time ;
explicit boost_thread ;
}
if "@PORT@" != "boost-timer"
{
use-project /boost/timer : . ;
lib boost_timer : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_timer@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
lib boost_timer : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_timer@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
explicit boost_timer ;
}
if "@PORT@" != "boost-filesystem"
{
use-project /boost/filesystem : . ;
lib boost_filesystem : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_filesystem@BOOST_LIB_RELEASE_SUFFIX@" <variant>release : : <library>/boost/system//boost_system ;
lib boost_filesystem : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_filesystem@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug : : <library>/boost/system//boost_system ;
explicit boost_filesystem ;
}
if "@PORT@" != "boost-atomic"
{
use-project /boost/atomic : . ;
lib boost_atomic : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_atomic@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
lib boost_atomic : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_atomic@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
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 : . ;
lib boost_context : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_context@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
lib boost_context : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_context@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
explicit boost_context ;
}
if "@PORT@" != "boost-test"
{
use-project /boost/test : . ;
lib boost_unit_test_framework : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_unit_test_framework@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
lib boost_unit_test_framework : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_unit_test_framework@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
explicit boost_unit_test_framework ;
}
if "@PORT@" != "boost-serialization"
{
use-project /boost/serialization : . ;
lib boost_serialization : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_serialization@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ;
lib boost_serialization : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_serialization@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ;
explicit boost_serialization ;
}
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 ;