181 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			181 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | constant BOOST_VERSION : @BOOST_VERSION@ ; | ||
|  | constant BOOST_VERSION_ABI_TAG : @BOOST_VERSION_ABI_TAG@ ; | ||
|  | 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 | ||
|  |     @B2_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 [ boostcpp.python-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 ; | ||
|  | } | ||
|  | 
 | ||
|  | if "@PORT@" != "boost-mpi" | ||
|  | { | ||
|  |     use-project /boost/mpi : . ; | ||
|  | 
 | ||
|  |     lib boost_mpi : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_mpi@BOOST_LIB_RELEASE_SUFFIX@" <variant>release : : <library>/boost/serialization//boost_serialization ; | ||
|  |     lib boost_mpi : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_mpi@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug : : <library>/boost/serialization//boost_serialization ; | ||
|  |     explicit boost_mpi ; | ||
|  | } | ||
|  | 
 | ||
|  | if "@PORT@" != "boost-container" | ||
|  | { | ||
|  |     use-project /boost/container : . ; | ||
|  | 
 | ||
|  |     lib boost_container : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_container@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ; | ||
|  |     lib boost_container : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_container@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ; | ||
|  |     explicit boost_container ; | ||
|  | } | ||
|  | 
 | ||
|  | if "@PORT@" != "boost-python" | ||
|  | { | ||
|  |     use-project /boost/python : . ; | ||
|  | 
 | ||
|  |     lib boost_python : : <file>"@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_python@PYTHON_VERSION_TAG@@BOOST_LIB_RELEASE_SUFFIX@" <variant>release ; | ||
|  |     lib boost_python : : <file>"@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_python@PYTHON_VERSION_TAG@@BOOST_LIB_DEBUG_SUFFIX@" <variant>debug ; | ||
|  |     explicit boost_python ; | ||
|  | } | ||
|  | 
 | ||
|  | 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 ; |