Skip to content

Commit a2b06de

Browse files
grisumbraspdimov
authored andcommitted
fix deduction of architecture and address-model
1 parent 064f557 commit a2b06de

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

boostcpp.jam

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -620,15 +620,18 @@ rule deduce-address-model ( properties * )
620620
: /boost/architecture//64 "64-bit" ] ;
621621
result = $(names[$(idx)]) ;
622622

623-
if $(result)
623+
local am = [ property.select <address-model> : $(properties) ] ;
624+
if ! $(am)
624625
{
625-
# Normally, returning composite feature here is equivalent to forcing
626-
# constituent properties as well. But we only want to indicate toolset
627-
# deduced default, so also pick whatever address-model is explicitly
628-
# specified, if any.
629-
result = <deduced-address-model>$(result) [ property.select <address-model> : $(properties) ] ;
626+
return <deduced-address-model>$(result) ;
630627
}
631-
return $(result) ;
628+
629+
if $(am:G=) = $(result)
630+
{
631+
return <deduced-address-model>$(result) $(am) ;
632+
}
633+
634+
return ;
632635
}
633636

634637
rule address-model ( )
@@ -660,12 +663,18 @@ rule deduce-architecture ( properties * )
660663
: /boost/architecture//combined ] ;
661664
result = $(names[$(idx)]) ;
662665

663-
if $(result)
666+
local arch = [ property.select <architecture> : $(properties) ] ;
667+
if ! $(arch)
664668
{
665-
# See comment in deduce-address-model.
666-
result = <deduced-architecture>$(result) [ property.select <architecture> : $(properties) ] ;
669+
return <deduced-architecture>$(result) ;
667670
}
668-
return $(result) ;
671+
672+
if $(arch:G=) = $(result)
673+
{
674+
return <deduced-architecture>$(result) $(arch) ;
675+
}
676+
677+
return ;
669678
}
670679

671680
rule architecture ( )

0 commit comments

Comments
 (0)