mirror of
https://github.com/boostorg/build.git
synced 2026-02-17 01:32:12 +00:00
Bring the boost.jam module up to date
[SVN r62249]
This commit is contained in:
@@ -59,6 +59,7 @@ import property-set ;
|
||||
import regex ;
|
||||
import common ;
|
||||
import option ;
|
||||
import numbers ;
|
||||
|
||||
.boost.auto_config = [ property-set.create <layout>system ] ;
|
||||
|
||||
@@ -114,7 +115,7 @@ rule init
|
||||
# searchable pre-built boost libraries, or references a source tree
|
||||
# of the boost library. If the 'version' parameter is omitted either
|
||||
# the configured default (first in config files) is used or an auto
|
||||
# configuration will be attemted.
|
||||
# configuration will be attempted.
|
||||
#
|
||||
rule use-project
|
||||
(
|
||||
@@ -190,40 +191,61 @@ rule boost_std ( inc ? lib ? )
|
||||
# The default definitions for pre-built libraries.
|
||||
|
||||
project boost
|
||||
: usage-requirements <include>$(inc)
|
||||
: usage-requirements <include>$(inc) <define>BOOST_ALL_NO_LIB
|
||||
: requirements <tag>@tag_std <search>$(lib)
|
||||
;
|
||||
|
||||
alias headers ;
|
||||
lib program_options : : : :
|
||||
<link>shared:<define>BOOST_PROGRAM_OPTIONS_DYN_LINK ;
|
||||
lib thread : : : :
|
||||
<link>shared:<define>BOOST_THREAD_DYN_DLL ;
|
||||
lib iostreams : : : :
|
||||
<link>shared:<define>BOOST_IOSTREAMS_DYN_LINK ;
|
||||
lib wave : : : :
|
||||
<link>shared:<define>BOOST_WAVE_DYN_LINK ;
|
||||
lib python : : : :
|
||||
<link>shared:<define>BOOST_PYTHON_DYN_LINK ;
|
||||
lib serialization : : : :
|
||||
<link>shared:<define>BOOST_SERIALIZATION_DYN_LINK ;
|
||||
lib graph : : : :
|
||||
<link>shared:<define>BOOST_GRAPH_DYN_LINK ;
|
||||
lib date_time : : : :
|
||||
<link>shared:<define>BOOST_DATE_TIME_DYN_LINK ;
|
||||
lib test : : : :
|
||||
<link>shared:<define>BOOST_TEST_DYN_LINK ;
|
||||
lib regex : : : :
|
||||
<link>shared:<define>BOOST_REGEX_DYN_LINK ;
|
||||
lib filesystem : : : :
|
||||
<link>shared:<define>BOOST_FILE_SYSTEM_DYN_LINK ;
|
||||
lib graph : : : :
|
||||
<link>shared:<define>BOOST_GRAPH_DYN_LINK ;
|
||||
lib graph_parallel : : : :
|
||||
<link>shared:<define>BOOST_GRAPH_DYN_LINK ;
|
||||
lib iostreams : : : :
|
||||
<link>shared:<define>BOOST_IOSTREAMS_DYN_LINK ;
|
||||
lib math_tr1 : : : :
|
||||
<link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
|
||||
lib math_tr1f : : : :
|
||||
<link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
|
||||
lib math_tr1l : : : :
|
||||
<link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
|
||||
lib math_c99 : : : :
|
||||
<link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
|
||||
lib math_c99f : : : :
|
||||
<link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
|
||||
lib math_c99l : : : :
|
||||
<link>shared:<define>BOOST_MATH_TR1_DYN_LINK ;
|
||||
lib mpi : : : :
|
||||
<link>shared:<define>BOOST_MPI_DYN_LINK ;
|
||||
lib program_options : : : :
|
||||
<link>shared:<define>BOOST_PROGRAM_OPTIONS_DYN_LINK ;
|
||||
lib python : : : :
|
||||
<link>shared:<define>BOOST_PYTHON_DYN_LINK ;
|
||||
lib random : : : :
|
||||
<link>shared:<define>BOOST_RANDOM_DYN_LINK ;
|
||||
lib regex : : : :
|
||||
<link>shared:<define>BOOST_REGEX_DYN_LINK ;
|
||||
lib serialization : : : :
|
||||
<link>shared:<define>BOOST_SERIALIZATION_DYN_LINK ;
|
||||
lib wserialization : : : :
|
||||
<link>shared:<define>BOOST_SERIALIZATION_DYN_LINK ;
|
||||
lib signals : : : :
|
||||
<link>shared:<define>BOOST_SIGNALS_DYN_LINK ;
|
||||
lib function_types ;
|
||||
lib mpi : : : :
|
||||
<link>shared:<define>BOOST_MPI_DYN_LINK ;
|
||||
lib system : : : :
|
||||
<link>shared:<define>BOOST_SYSTEM_DYN_LINK ;
|
||||
lib unit_test_framework : : : :
|
||||
<link>shared:<define>BOOST_TEST_DYN_LINK ;
|
||||
lib prg_exec_monitor : : : :
|
||||
<link>shared:<define>BOOST_TEST_DYN_LINK ;
|
||||
lib test_exec_monitor : : : :
|
||||
<link>shared:<define>BOOST_TEST_DYN_LINK ;
|
||||
lib thread : : : :
|
||||
<link>shared:<define>BOOST_THREAD_DYN_DLL ;
|
||||
lib wave : : : :
|
||||
<link>shared:<define>BOOST_WAVE_DYN_LINK ;
|
||||
}
|
||||
|
||||
rule boost_0_0_1 ( inc ? lib ? )
|
||||
@@ -244,13 +266,56 @@ rule tag_std ( name : type ? : property-set )
|
||||
{
|
||||
name = lib$(name) ;
|
||||
}
|
||||
if $(.layout) = versioned
|
||||
|
||||
local result ;
|
||||
if $(.layout) = system
|
||||
{
|
||||
version = $(.version_tag) ;
|
||||
toolset = <toolset> ;
|
||||
local version = [ MATCH ^([0-9]+)_([0-9]+) : $(.version_tag) ] ;
|
||||
if $(version[1]) = "1" && [ numbers.less $(version[2]) 39 ]
|
||||
{
|
||||
result = [ tag_tagged $(name) : $(type) : $(property-set) ] ;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = [ tag_system $(name) : $(type) : $(property-set) ] ;
|
||||
}
|
||||
}
|
||||
else if $(.layout) = tagged
|
||||
{
|
||||
result = [ tag_tagged $(name) : $(type) : $(property-set) ] ;
|
||||
}
|
||||
else if $(.layout) = versioned
|
||||
{
|
||||
result = [ tag_versioned $(name) : $(type) : $(property-set) ] ;
|
||||
}
|
||||
else
|
||||
{
|
||||
errors.error "Missing layout" ;
|
||||
}
|
||||
|
||||
return [ common.format-name
|
||||
<base> $(toolset) <threading> <runtime> -$(version) -$(.build_id)
|
||||
: $(name) : $(type) : $(property-set) ] ;
|
||||
return $(result) ;
|
||||
}
|
||||
|
||||
rule tag_system ( name : type ? : property-set )
|
||||
{
|
||||
return [ common.format-name
|
||||
<base>
|
||||
-$(.build_id)
|
||||
: $(name) : $(type) : $(property-set) ] ;
|
||||
}
|
||||
|
||||
rule tag_tagged ( name : type ? : property-set )
|
||||
{
|
||||
return [ common.format-name
|
||||
<base> <threading> <runtime>
|
||||
-$(.build_id)
|
||||
: $(name) : $(type) : $(property-set) ] ;
|
||||
}
|
||||
|
||||
rule tag_versioned ( name : type ? : property-set )
|
||||
{
|
||||
return [ common.format-name
|
||||
<base> <toolset> <threading> <runtime> -$(.version_tag)
|
||||
-$(.build_id)
|
||||
: $(name) : $(type) : $(property-set) ] ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user