automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

48-false-confusion.patch


From: Akim Demaille
Subject: 48-false-confusion.patch
Date: Sun, 11 Mar 2001 19:10:01 +0100

There was some confusion between `#' and `FALSE' representing negated
conditions.


Index: ChangeLog
from  Akim Demaille  <address@hidden>

        * automake.in (&make_condition): Return '#' when FALSE.
        (&conditional_string): Return FALSE, not '#' in the corresponding
        cases.
        (&file_contents_internal): Adjust.
        (&check_variable_defined_unconditional): Dump the guilty variable.

Index: automake.in
--- automake.in Sun, 11 Mar 2001 18:31:44 +0100 akim (am/f/39_automake.i 1.166 
755)
+++ automake.in Sun, 11 Mar 2001 18:46:12 +0100 akim (am/f/39_automake.i 1.166 
755)
@@ -5463,11 +5463,22 @@ sub make_condition
 {
     my $res = conditional_string (@_);

-    return $res
-      if $res eq '' or $res eq '#' ;
-
-    $res = '@' . $res . '@';
-    $res =~ s/ /@@/g;
+    # There are no conditions.
+    if ($res eq '')
+      {
+       # Nothing to do.
+      }
+    # It's impossible.
+    elsif ($res eq 'FALSE')
+      {
+       $res = '#';
+      }
+    # Build it.
+    else
+      {
+       $res = '@' . $res . '@';
+       $res =~ s/ /@@/g;
+      }

     return $res;
 }
@@ -5529,7 +5540,7 @@ sub conditional_string

   if (grep (/^FALSE$/, @stack))
     {
-      return '#';
+      return 'FALSE';
     }
   else
     {
@@ -6007,7 +6018,9 @@ sub check_variable_defined_unconditional
        else
        {
            &am_line_error ($parent,
-                           "warning: automake does not support $var being 
defined conditionally")
+                           "warning: automake does not support $var being 
defined conditionally");
+           variable_dump ($var);
+
        }
     }
 }
@@ -6892,7 +6892,7 @@ sub file_contents_internal ($%)

              # Output only if not in FALSE.
              if (defined $dependencies{$_}
-                 && $cond ne "#")
+                 && $cond ne 'FALSE')
                {
                  &depend ($_, @deps);
                  $actions{$_} .= $actions;
@@ -6902,7 +6902,7 @@ sub file_contents_internal ($%)
                  # Free lance dependency.  Output the rule for all the
                  # targets instead of one by one.
                  if (!defined $targets{$targets}
-                     && $cond ne "#")
+                     && $cond ne 'FALSE')
                    {
                      $result_rules .= "$separator$comment$paragraph\n";
                      rule_define ($targets, 1, $cond, $.);
@@ -6914,7 +6927,7 @@ sub file_contents_internal ($%)
            # of (which is detected by the first reading of
            # `header-vars.am'), we must not output them.
            $result_vars .= "$separator$comment$_\n"
-             if $type ne '+' && $var_is_am{$var} && $cond ne '#';
+             if $type ne '+' && $var_is_am{$var} && $cond ne 'FALSE';

            $comment = $separator = '';
        }
@@ -6936,7 +6936,7 @@ sub file_contents_internal ($%)
            # This isn't an error; it is probably some tokens which
            # configure is supposed to replace, such as address@hidden@',
            # or some part of a rule cut by an if/endif.
-           if ($cond ne "#")
+           if ($cond ne 'FALSE')
              {
                $result_rules .= "$separator$comment$_\n";
              }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]