summaryrefslogtreecommitdiff
path: root/lib/Automake
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2013-05-27 10:44:06 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2013-05-28 11:08:53 +0200
commit55f82a803e59ad68a56714ddf008b4f82baea3a3 (patch)
tree813b5cd670cd4dfa6f7ec29bb8a05d59bbd87c54 /lib/Automake
parent4ba95192f272a39b2d659f13baa32c755b15c3ea (diff)
downloadautomake-55f82a803e59ad68a56714ddf008b4f82baea3a3.tar.gz
Automake::Rule: expose suffix rules as a function, not a scalar
This is just a preparatory refactoring in view of future patches. No semantic change is intended. * lib/Automake/Rule.pm ($suffix_rules): Turn from a package-level variable to a lexical variable. (suffix_rule): New function, expose the details of $suffix_rules that are actually required by code outside thus modules --- and only those details, no more. (@EXPORT): Adjust. * automake.in (derive_suffix): Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 'lib/Automake')
-rw-r--r--lib/Automake/Rule.pm20
1 files changed, 17 insertions, 3 deletions
diff --git a/lib/Automake/Rule.pm b/lib/Automake/Rule.pm
index 47f3a9ddc..5f6f3a239 100644
--- a/lib/Automake/Rule.pm
+++ b/lib/Automake/Rule.pm
@@ -29,8 +29,8 @@ use Automake::DisjConditions;
require Exporter;
use vars '@ISA', '@EXPORT', '@EXPORT_OK';
@ISA = qw/Automake::Item Exporter/;
-@EXPORT = qw (reset register_suffix_rule suffix_rules_count
- suffixes rules $suffix_rules $KNOWN_EXTENSIONS_PATTERN
+@EXPORT = qw (reset register_suffix_rule suffix_rules_count suffix_rule
+ suffixes rules $KNOWN_EXTENSIONS_PATTERN
depend %dependencies %actions register_action
accept_extensions
reject_rule msg_rule msg_cond_rule err_rule err_cond_rule
@@ -154,7 +154,7 @@ C<register_suffix_rule> function.
=cut
-use vars '$suffix_rules';
+my $suffix_rules;
=item C<$KNOWN_EXTENSIONS_PATTERN>
@@ -384,6 +384,20 @@ sub reset()
%actions = ();
}
+=item C<suffix_rule ($ext, $obj)>
+
+XXX
+
+=cut
+
+sub suffix_rule ($$)
+{
+ my ($source_ext, $obj) = @_;
+ return undef unless (exists $suffix_rules->{$source_ext} and
+ exists $suffix_rules->{$source_ext}{$obj});
+ return $suffix_rules->{$source_ext}{$obj}[0];
+}
+
=item C<register_suffix_rule ($where, $src, $dest)>
Register a suffix rule defined on C<$where> that transforms