aboutsummaryrefslogtreecommitdiff
path: root/tools/automake/patches/300-output-TRUE-cond-first.patch
diff options
context:
space:
mode:
Diffstat (limited to 'tools/automake/patches/300-output-TRUE-cond-first.patch')
-rw-r--r--tools/automake/patches/300-output-TRUE-cond-first.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/automake/patches/300-output-TRUE-cond-first.patch b/tools/automake/patches/300-output-TRUE-cond-first.patch
new file mode 100644
index 0000000000..1ac655adff
--- /dev/null
+++ b/tools/automake/patches/300-output-TRUE-cond-first.patch
@@ -0,0 +1,34 @@
+--- a/lib/Automake/Variable.pm
++++ b/lib/Automake/Variable.pm
+@@ -1258,8 +1258,15 @@ sub output_variables ()
+ foreach my $var (@vars)
+ {
+ my $v = rvar $var;
++ # Output unconditional definitions before conditional ones.
++ if ($v->def (TRUE)) {
++ $res .= $v->output (TRUE)
++ if $v->rdef (TRUE)->owner == VAR_AUTOMAKE;
++ }
+ foreach my $cond ($v->conditions->conds)
+ {
++ # TRUE is handled already.
++ next if $cond->string eq "TRUE";
+ $res .= $v->output ($cond)
+ if $v->rdef ($cond)->owner == VAR_AUTOMAKE;
+ }
+@@ -1269,8 +1276,15 @@ sub output_variables ()
+ foreach my $var (@vars)
+ {
+ my $v = rvar $var;
++ # Output unconditional definitions before conditional ones.
++ if ($v->def (TRUE)) {
++ $res .= $v->output (TRUE)
++ if $v->rdef (TRUE)->owner != VAR_AUTOMAKE;
++ }
+ foreach my $cond ($v->conditions->conds)
+ {
++ # TRUE is handled already.
++ next if $cond->string eq "TRUE";
+ $res .= $v->output ($cond)
+ if $v->rdef ($cond)->owner != VAR_AUTOMAKE;
+ }