+2001-05-08 Akim Demaille <akim@epita.fr>
+
+ * automake.in (&file_contents_internal): Apply the @cond_stack to
+ the rules and assignments.
+ Don't rely on `$.' as it's biased by &make_paragraphs.
+ Don't remove backslashes in variable values.
+
2001-05-08 Akim Demaille <akim@epita.fr>
* automake.in ($IGNORE_PATTERN): Improve for multi-line matches.
if (!defined $targets{$targets}
&& $cond ne 'FALSE')
{
+ $paragraph =~ s/^/make_condition (@cond_stack)/gme;
$result_rules .= "$spacing$comment$paragraph\n";
- rule_define ($targets, $is_am, $cond, $.);
+ rule_define ($targets, $is_am, $cond, $file);
}
$comment = $spacing = '';
last;
}
}
}
+
elsif (/$ASSIGNMENT_PATTERN/mso)
{
my ($var, $type, $val) = ($1, $2, $3);
- &prog_error ("$file:$.: macro `$var' with trailing backslash")
+ &am_file_error ($file, "macro `$var' with trailing backslash")
if /\\$/;;
# Accumulating variables must not be output.
if (!defined $var_comment{$var}
|| substr ($var_comment{$var}, -1) ne "\n");
$var_comment{$var} .= "$comment";
- # Strip the continuation backslashes.
- $val =~ s/\\$//mg;
- macro_define ($var, $is_am, $type, $cond, $val, $.)
+ macro_define ($var, $is_am, $type, $cond, $val, $file)
if $cond ne 'FALSE';
push (@var_list, $var);
# or some part of a rule cut by an if/endif.
if ($cond ne 'FALSE')
{
+ s/^/make_condition (@cond_stack)/gme;
$result_rules .= "$spacing$comment$_\n";
}
$comment = $spacing = '';