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
 | |
|      {
 |