summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/numeric/odeint/toolset.jam.patch
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/numeric/odeint/toolset.jam.patch')
-rw-r--r--src/boost/libs/numeric/odeint/toolset.jam.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/boost/libs/numeric/odeint/toolset.jam.patch b/src/boost/libs/numeric/odeint/toolset.jam.patch
new file mode 100644
index 00000000..dca997d5
--- /dev/null
+++ b/src/boost/libs/numeric/odeint/toolset.jam.patch
@@ -0,0 +1,61 @@
+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
+ {