2
0
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:
Steven Watanabe
2010-05-26 19:05:19 +00:00
parent 20bccaa3af
commit 9373651b5b

View File

@@ -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) ] ;
}