mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -04:00 
			
		
		
		
	
		
			
	
	
		
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
|  | diff --git a/src/build/toolset.jam b/src/build/toolset.jam
 | ||
|  | index b5defd5..a942cd9 100644
 | ||
|  | --- a/src/build/toolset.jam
 | ||
|  | +++ b/src/build/toolset.jam
 | ||
|  | @@ -17,6 +17,8 @@ import regex ;
 | ||
|  |  import sequence ; | ||
|  |  import set ; | ||
|  |  import property-set ; | ||
|  | +import order ;
 | ||
|  | +import "class" : new ;
 | ||
|  |   | ||
|  |   | ||
|  |  .flag-no = 1 ; | ||
|  | @@ -237,6 +239,7 @@ rule handle-flag-value ( value * : properties * )
 | ||
|  |      if $(value:G) | ||
|  |      { | ||
|  |          local matches = [ property.select $(value) : $(properties) ] ; | ||
|  | +        local order ;
 | ||
|  |          for local p in $(matches) | ||
|  |          { | ||
|  |              local att = [ feature.attributes $(p:G) ] ; | ||
|  | @@ -263,11 +266,24 @@ rule handle-flag-value ( value * : properties * )
 | ||
|  |                  } | ||
|  |                  if path in $(att) | ||
|  |                  { | ||
|  | -                    result += [ sequence.transform path.native : $(values) ] ;
 | ||
|  | +                    values = [ sequence.transform path.native : $(values) ] ;
 | ||
|  |                  } | ||
|  | -                else
 | ||
|  | +                result += $(values) ;
 | ||
|  | +                if $(values[2])
 | ||
|  |                  { | ||
|  | -                    result += $(values) ;
 | ||
|  | +                    if ! $(order)
 | ||
|  | +                    {
 | ||
|  | +                        order = [ new order ] ;
 | ||
|  | +                    }
 | ||
|  | +                    local prev ;
 | ||
|  | +                    for local v in $(values)
 | ||
|  | +                    {
 | ||
|  | +                        if $(prev)
 | ||
|  | +                        {
 | ||
|  | +                            $(order).add-pair $(prev) $(v) ;
 | ||
|  | +                        }
 | ||
|  | +                        prev = $(v) ;
 | ||
|  | +                    }
 | ||
|  |                  } | ||
|  |              } | ||
|  |              else | ||
|  | @@ -275,6 +291,11 @@ rule handle-flag-value ( value * : properties * )
 | ||
|  |                  result += $(p:G=) ; | ||
|  |              } | ||
|  |          } | ||
|  | +        if $(order)
 | ||
|  | +        {
 | ||
|  | +            result = [ $(order).order [ sequence.unique $(result) : stable ] ] ;
 | ||
|  | +            DELETE_MODULE $(order) ;
 | ||
|  | +        }
 | ||
|  |      } | ||
|  |      else | ||
|  |      { |