use Autom4te::ChannelDefs;
- Autom4te::ChannelDefs::usage ();
+ print Autom4te::ChannelDefs::usage (), "\n";
prog_error ($MESSAGE, [%OPTIONS]);
error ($WHERE, $MESSAGE, [%OPTIONS]);
error ($MESSAGE);
verb ($MESSAGE, [%OPTIONS]);
switch_warning ($CATEGORY);
parse_WARNINGS ();
- parse_warning ($OPTION, $ARGUMENT);
+ parse_warnings ($OPTION, $ARGUMENT);
Autom4te::ChannelDefs::set_strictness ($STRICTNESS_NAME);
=head1 DESCRIPTION
=item C<error-gnu/warn>
-Errors related to GNU Standards that should be warnings in `foreign' mode.
+Errors related to GNU Standards that should be warnings in "foreign" mode.
=item C<error-gnits>
Internal errors. Use C<&prog_error> to send messages over this channel.
+=item C<cross>
+
+Constructs compromising the cross-compilation of the package.
+
=item C<gnu>
Warnings related to GNU Coding Standards.
"####################\n"),
footer => "\nPlease contact <bug-automake\@gnu.org>.";
+register_channel 'cross', type => 'warning', silent => 1;
register_channel 'gnu', type => 'warning';
register_channel 'obsolete', type => 'warning', silent => 1;
register_channel 'override', type => 'warning', silent => 1;
=item C<usage ()>
-Display warning categories.
+Return the warning category descriptions.
=cut
sub usage ()
{
- print "Warning categories include:
+ return "Warning categories include:
+ `cross' cross compilation issues
`gnu' GNU coding standards (default in gnu and gnits modes)
`obsolete' obsolete features or constructions
`override' user redefinitions of Automake rules or variables
`all' all the warnings
`no-CATEGORY' turn off warnings in CATEGORY
`none' turn off all the warnings
- `error' treat warnings as errors
-";
+ `error' treat warnings as errors";
}
=item C<prog_error ($MESSAGE, [%OPTIONS])>
=item C<switch_warning ($CATEGORY)>
If C<$CATEGORY> is C<mumble>, turn on channel C<mumble>.
-If it's C<no-mumble>, turn C<mumble> off.
+If it is C<no-mumble>, turn C<mumble> off.
Else handle C<all> and C<none> for completeness.
=cut
}
}
-=item C<parse_warning ($OPTION, $ARGUMENT)>
+=item C<parse_warnings ($OPTION, @ARGUMENT)>
Parse the argument of C<--warning=CATEGORY> or C<-WCATEGORY>.
-C<$OPTIONS> is C<"--warning"> or C<"-W">, C<$ARGUMENT> is C<CATEGORY>.
+C<$OPTIONS> is C<"--warning"> or C<"-W">, C<@ARGUMENT> is a list of
+C<CATEGORY>.
-This is meant to be used as a argument to C<Getopt>.
+This can be used as a argument to C<Getopt>.
=cut
-sub parse_warnings ($$)
+sub parse_warnings ($@)
{
- my ($opt, $categories) = @_;
+ my ($opt, @categories) = @_;
- foreach my $cat (split (',', $categories))
+ foreach my $cat (map { split ',' } @categories)
{
msg 'unsupported', "unknown warning category `$cat'"
if switch_warning $cat;