mirror of
https://github.com/boostorg/build.git
synced 2026-02-17 01:32:12 +00:00
Kill the link-compatibility check completely. It just causes too much
problems, instead of helping. [SVN r26576]
This commit is contained in:
@@ -45,13 +45,7 @@ class alias-target-class : basic-target
|
||||
{
|
||||
return [ property-set.empty ] $(source-targets) ;
|
||||
}
|
||||
|
||||
# This check makes no sense for 'alias', so just
|
||||
# disable it.
|
||||
rule check-for-link-compatibility ( * : * )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
rule compute-usage-requirements ( subvariant )
|
||||
{
|
||||
local base = [ basic-target.compute-usage-requirements $(subvariant) ] ;
|
||||
|
||||
@@ -125,17 +125,17 @@ class abstract-target
|
||||
return $(location)/$(self.name) ;
|
||||
}
|
||||
|
||||
# Takes properties in split form ("<feature1>foo <feature2>bar").
|
||||
# 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 property-set with the usage requirements to be applied to dependents
|
||||
# - a list of produced virtual targets, which may be empty.
|
||||
#
|
||||
# If 'properties' are empty, performs default build of this target, in a way specific
|
||||
# to derived class.
|
||||
# Takes a property set. Generates virtual targets for this abstract
|
||||
# target, using the specified properties, unless a different value of some
|
||||
# feature is required by the target.
|
||||
# On
|
||||
# success, returns:
|
||||
# - a property-set with the usage requirements to be
|
||||
# applied to dependents
|
||||
# - a list of produced virtual targets, which may be
|
||||
# empty.
|
||||
# If 'property-set' are empty, performs default build of this
|
||||
# target, in a way specific to derived class.
|
||||
rule generate ( property-set )
|
||||
{
|
||||
errors.error "method should be defined in derived classes" ;
|
||||
@@ -1045,7 +1045,6 @@ class basic-target : abstract-target
|
||||
local result =
|
||||
[ targets.generate-from-reference $(id) : $(self.project)
|
||||
: $(property-set) ] ;
|
||||
check-for-link-compatibility $(result[2-]) : $(property-set) ;
|
||||
|
||||
$(result-var) += $(result[2-]:G=$(grist)) ;
|
||||
$(usage-requirements-var) += [ $(result[1]).raw ] ;
|
||||
@@ -1192,36 +1191,6 @@ class basic-target : abstract-target
|
||||
}
|
||||
return $(s) ;
|
||||
}
|
||||
|
||||
# Checks if 'targets' are link-compatible with 'build-request' and
|
||||
# issues a warning if that's not the case.
|
||||
local rule check-for-link-compatibility ( targets * : build-request )
|
||||
{
|
||||
local checked ;
|
||||
for local t in $(targets)
|
||||
{
|
||||
local a = [ $(t).action ] ;
|
||||
if $(a)
|
||||
{
|
||||
local p = [ $(a).properties ] ;
|
||||
if ! $(p) in $(cheched)
|
||||
{
|
||||
if [ $(p).link-incompatible-with $(build-request) ]
|
||||
{
|
||||
local s = [ $(t).creating-subvariant ] ;
|
||||
local other-mt = [ $(s).main-target ] ;
|
||||
ECHO "warning: targets produced from" [ $(other-mt).name ]
|
||||
"are link incompatible" ;
|
||||
ECHO "warning: with main target" [ name ] ;
|
||||
}
|
||||
}
|
||||
checked += $(p) ;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
# Constructs the virtual targets for this abstract targets and
|
||||
# the dependecy graph. Returns the list of virtual targets.
|
||||
|
||||
@@ -243,11 +243,7 @@ class stage-target-class : basic-target
|
||||
}
|
||||
|
||||
return $(found) ;
|
||||
}
|
||||
|
||||
rule check-for-link-compatibility ( * : * )
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Create a target named 'name' in the current project
|
||||
|
||||
Reference in New Issue
Block a user