Explorar o código

fix deduction not properly working

Dmitry Arkhipov hai 1 ano
pai
achega
fc8e2d9389
Modificáronse 1 ficheiros con 10 adicións e 39 borrados
  1. 10 39
      boostcpp.jam

+ 10 - 39
boostcpp.jam

@@ -606,32 +606,19 @@ rule toolset-properties ( properties * )
     return [ property.select <target-os> <toolset> $(toolset-version-property) : $(properties) ] ;
 }
 
-feature.feature deduced-address-model : 32 64 : propagated optional composite hidden ;
-feature.compose <deduced-address-model>32 : <address-model>32 ;
-feature.compose <deduced-address-model>64 : <address-model>64 ;
-
 rule deduce-address-model ( properties * )
 {
-    local result ;
+    local deduced ;
     local filtered = [ toolset-properties $(properties) ] ;
     local names = 32 64 ;
     local idx = [ configure.find-builds "default address-model" : $(filtered)
         : /boost/architecture//32 "32-bit"
         : /boost/architecture//64 "64-bit" ] ;
-    result = $(names[$(idx)]) ;
-
-    local am = [ property.select <address-model> : $(properties) ] ;
-    if ! $(am)
-    {
-        return <deduced-address-model>$(result) ;
-    }
+    deduced = $(names[$(idx)]) ;
 
-    if $(am:G=) = $(result)
-    {
-        return <deduced-address-model>$(result) $(am) ;
-    }
-
-    return ;
+    local result = [ property.select <address-model> : $(properties) ] ;
+    result ?= <address-model>$(deduced) ;
+    return $(result) ;
 }
 
 rule address-model ( )
@@ -639,16 +626,9 @@ rule address-model ( )
     return <conditional>@boostcpp.deduce-address-model ;
 }
 
-local deducable-architectures = arm loongarch mips power riscv s390x sparc x86 combined ;
-feature.feature deduced-architecture : $(deducable-architectures) : propagated optional composite hidden ;
-for a in $(deducable-architectures)
-{
-    feature.compose <deduced-architecture>$(a) : <architecture>$(a) ;
-}
-
 rule deduce-architecture ( properties * )
 {
-    local result ;
+    local deduced ;
     local filtered = [ toolset-properties $(properties) ] ;
     local names = arm loongarch mips power riscv s390x sparc x86 combined ;
     local idx = [ configure.find-builds "default architecture" : $(filtered)
@@ -661,20 +641,11 @@ rule deduce-architecture ( properties * )
         : /boost/architecture//sparc
         : /boost/architecture//x86
         : /boost/architecture//combined ] ;
-    result = $(names[$(idx)]) ;
-
-    local arch = [ property.select <architecture> : $(properties) ] ;
-    if ! $(arch)
-    {
-        return <deduced-architecture>$(result) ;
-    }
-
-    if $(arch:G=) = $(result)
-    {
-        return <deduced-architecture>$(result) $(arch) ;
-    }
+    deduced = $(names[$(idx)]) ;
 
-    return ;
+    local result = [ property.select <architecture> : $(properties) ] ;
+    result ?= <architecture>$(deduced) ;
+    return $(result) ;
 }
 
 rule architecture ( )

粤ICP备19079148号