mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-19 10:32:02 -05: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
|
||
|
{
|