From: Stefano Lattarini Date: Mon, 28 May 2012 11:32:03 +0000 (+0200) Subject: aclocal: declare function prototypes, do not use '&' in function calls X-Git-Tag: v1.12.1~5^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6bf58a59a1f3803e57e3f0378aa9344686707b75;p=thirdparty%2Fautomake.git aclocal: declare function prototypes, do not use '&' in function calls This change will also fix automake bug#11543 (from a report by Matt Burgess). * aclocal.in: Declare prototypes for almost all functions early, before any actual function definition (but omit the prototype for the dynamically generated '&search' function). Add prototypes to any function definition. Remove '&' from function invocations (i.e., simply use "func(ARGS..)" instead of "&func(ARGS...)"). * THANKS, NEWS: Update. Signed-off-by: Stefano Lattarini --- diff --git a/NEWS b/NEWS index 944f7f90b..6ce2a6070 100644 --- a/NEWS +++ b/NEWS @@ -112,6 +112,10 @@ Bugs fixed in 1.12.1: #line 7 "grammar.y" as it did before. +* Bugs with new Perl versions: + + - Aclocal works correctly with perl 5.16.0 (automake bug#11543). + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New in 1.12: diff --git a/THANKS b/THANKS index 0824c4f3a..01b78c188 100644 --- a/THANKS +++ b/THANKS @@ -239,6 +239,7 @@ Martin Waitz tali@admingilde.org Mathias Doreille doreille@smr.ch Mathias Froehlich M.Froehlich@science-computing.de Mathias Hasselmann mathias.hasselmann@gmx.de +Matt Burgess matthew@linuxfromscratch.org Matt Leach mleach@cygnus.com Matthew D. Langston langston@SLAC.Stanford.EDU Matthias Andree matthias.andree@gmx.de diff --git a/aclocal.in b/aclocal.in index dfb851baa..e8855d554 100644 --- a/aclocal.in +++ b/aclocal.in @@ -152,8 +152,34 @@ my $erase_me; ################################################################ +# Prototypes for all subroutines. + +sub unlink_tmp (;$); +sub xmkdir_p ($); +sub check_acinclude (); +sub reset_maps (); +sub install_file ($$); +sub list_compare (\@\@); +sub scan_m4_dirs ($@); +sub scan_m4_files (); +sub add_macro ($); +sub scan_configure_dep ($); +sub add_file ($); +sub scan_file ($$$); +sub strip_redundant_includes (%); +sub trace_used_macros (); +sub scan_configure (); +sub write_aclocal ($@); +sub usage ($); +sub version (); +sub handle_acdir_option ($$); +sub parse_arguments (); +sub parse_ACLOCAL_PATH (); + +################################################################ + # Erase temporary file ERASE_ME. Handle signals. -sub unlink_tmp +sub unlink_tmp (;$) { my ($sig) = @_; @@ -350,7 +376,7 @@ sub scan_m4_dirs ($@) next if $file eq 'aclocal.m4'; my $fullfile = File::Spec->canonpath ("$m4dir/$file"); - &scan_file ($type, $fullfile, 'aclocal'); + scan_file ($type, $fullfile, 'aclocal'); } closedir (DIR); } @@ -361,12 +387,12 @@ sub scan_m4_files () { # First, scan configure.ac. It may contain macro definitions, # or may include other files that define macros. - &scan_file (FT_USER, $configure_ac, 'aclocal'); + scan_file (FT_USER, $configure_ac, 'aclocal'); # Then, scan acinclude.m4 if it exists. if (-f 'acinclude.m4') { - &scan_file (FT_USER, 'acinclude.m4', 'aclocal'); + scan_file (FT_USER, 'acinclude.m4', 'aclocal'); } # Finally, scan all files in our search paths. @@ -380,7 +406,7 @@ sub scan_m4_files () my $search = "sub search {\nmy \$found = 0;\n"; foreach my $key (reverse sort keys %map) { - $search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { & add_macro ("' . $key + $search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { add_macro ("' . $key . '"); $found = 1; }' . "\n"); } $search .= "return \$found;\n};\n"; @@ -403,7 +429,7 @@ sub add_macro ($) verb "saw macro $macro"; $macro_seen{$macro} = 1; - &add_file ($map{$macro}); + add_file ($map{$macro}); } # scan_configure_dep ($file) @@ -465,7 +491,7 @@ sub scan_configure_dep ($) } add_macro ($_) foreach (@rlist); - &scan_configure_dep ($_) foreach @ilist; + scan_configure_dep ($_) foreach @ilist; } # add_file ($FILE) @@ -931,7 +957,7 @@ EOF } # Print version and exit. -sub version() +sub version () { print <