Hash :
74673d1c
Author :
Date :
2020-09-11T18:03:19
Consistently use ‘our’ instead of ‘use vars’. At file scope of a file containing at most one ‘package’ declaration, ‘use vars’ is exactly equivalent to ‘our’, and the latter is preferred starting with Perl 5.6.0, which happens to be the oldest version we support. (This change has nothing to do with the previous two, but I want to make the same change in Autoconf and that means doing it here for all the files synced from Automake.) (I don’t know why, but this change exposed a latent bug in FileUtils.pm where the last pod block in the file didn’t have a ‘=cut’ delimiter, so the code after it was considered documentation, causing ‘require FileUtils’ to fail.) * lib/Automake/ChannelDefs.pm * lib/Automake/Channels.pm * lib/Automake/Condition.pm * lib/Automake/Configure_ac.pm * lib/Automake/DisjConditions.pm * lib/Automake/FileUtils.pm * lib/Automake/General.pm * lib/Automake/Getopt.pm * lib/Automake/Options.pm * lib/Automake/Rule.pm * lib/Automake/RuleDef.pm * lib/Automake/VarDef.pm * lib/Automake/Variable.pm * lib/Automake/Wrap.pm * lib/Automake/XFile.pm: Replace all uses of ‘use vars’ with ‘our’. * lib/Automake/FileUtils.pm: Add missing ‘=cut’ to a pod block near the end of the file.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
# Copyright (C) 2003-2020 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
package Automake::RuleDef;
use 5.006;
use strict;
use warnings FATAL => 'all';
use Carp;
use Exporter;
use Automake::ChannelDefs;
use Automake::ItemDef;
our @ISA = qw (Automake::ItemDef Exporter);
our @EXPORT = qw (&RULE_AUTOMAKE &RULE_USER);
=head1 NAME
Automake::RuleDef - a class for rule definitions
=head1 SYNOPSIS
use Automake::RuleDef;
use Automake::Location;
=head1 DESCRIPTION
This class gathers data related to one Makefile-rule definition.
It shouldn't be needed outside of F<Rule.pm>.
=head2 Constants
=over 4
=item C<RULE_AUTOMAKE>, C<RULE_USER>
Possible owners for rules.
=cut
use constant RULE_AUTOMAKE => 0; # Rule defined by Automake.
use constant RULE_USER => 1; # Rule defined in the user's Makefile.am.
=back
=head2 Methods
=over 4
=item C<new Automake::RuleDef ($name, $comment, $location, $owner, $source)>
Create a new rule definition with target C<$name>, with associated comment
C<$comment>, Location C<$location> and owner C<$owner>, defined in file
C<$source>.
=cut
sub new ($$$$$)
{
my ($class, $name, $comment, $location, $owner, $source) = @_;
my $self = Automake::ItemDef::new ($class, $comment, $location, $owner);
$self->{'source'} = $source;
$self->{'name'} = $name;
return $self;
}
=item C<$source = $rule-E<gt>source>
Return the source of the rule.
=cut
sub source ($)
{
my ($self) = @_;
return $self->{'source'};
}
=item C<$name = $rule-E<gt>name>
Return the name of the rule.
=cut
sub name ($)
{
my ($self) = @_;
return $self->{'name'};
}
=back
=head1 SEE ALSO
L<Automake::Rule>, L<Automake::ItemDef>.
=cut
1;