mirror of
https://github.com/boostorg/build.git
synced 2026-02-11 23:52:20 +00:00
Change handling of toolset -- it's now assumed that there's default toolset
and, therefore, we don't need to treat toolsets in a special way. [SVN r15927]
This commit is contained in:
@@ -65,15 +65,14 @@ rule abstract-target ( name # name of the target in Jamfile
|
||||
}
|
||||
|
||||
# Takes properties in split form ("<feature1>foo <feature2>bar").
|
||||
# Generates virtual targets for this abstract target which match
|
||||
# 'properties' as closely as possible. If 'properties' are not specified,
|
||||
# default values are used. If it not possible to build anything because
|
||||
# of some problem returns a list with "@error" as the first element
|
||||
# and explanation in all others. (CONSIDER: need some utilities for
|
||||
# this method of error reporting? 'is-error'?)
|
||||
# Generates virtual targets for this abstract target, using the specified properties,
|
||||
# unless a different value of some feature is required by the target. The properties
|
||||
# on returned virtual targets should be link-compatible with the requested ones.
|
||||
# On success, returns a list of virtual targets. If it not possible to build anything,
|
||||
# issues a warning and returns empty list, or issues an error.
|
||||
#
|
||||
# If 'properties' are empty or consist of lonely <toolset>xxx,
|
||||
# uses default set(s) of properties.
|
||||
# If 'properties' are empty, performs default build of this target, in a way specific
|
||||
# to derived class.
|
||||
rule generate ( properties * )
|
||||
{
|
||||
errors.error "method should be defined in derived classes" ;
|
||||
|
||||
@@ -15,7 +15,7 @@ import regex ;
|
||||
import virtual-target ;
|
||||
import os ;
|
||||
|
||||
feature toolset : gcc : optional implicit propagated ;
|
||||
feature toolset : gcc : implicit propagated ;
|
||||
feature shared : false true : propagated ;
|
||||
feature optimization : off on : propagated ;
|
||||
feature threading : single multi : link-incompatible propagated ;
|
||||
@@ -76,10 +76,14 @@ rule variant ( name : parents-or-properties * : tool-properties * )
|
||||
tool-properties = [ feature.add-defaults $(tool-properties) ] ;
|
||||
|
||||
# We should remove default value of 'variant'.
|
||||
# Also, remove default value of 'toolset'. CONSIDER: this move is questionable,
|
||||
# if we have default toolset, then why eliminate it? We'll have simple target
|
||||
# paths of "bin/debug" for default toolset.
|
||||
# TODO: we need to eliminate all 'symmetric' features.
|
||||
local tool-properties2 ;
|
||||
for local p in $(tool-properties)
|
||||
{
|
||||
if $(p:G) != <variant>
|
||||
if $(p:G) != <variant> && $(p:G) != <toolset>
|
||||
{
|
||||
tool-properties2 += $(p) ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user