or make them private. Make all local variables private.
(find_autoconf): New, moved some code from the top level.
Use %ENV outside quotes to eliminate a warning.
+2001-01-22 Pavel Roskin <proski@gnu.org>
+
+ * autoscan.pl: Use "use strict". Declare all global variables
+ or make them private. Make all local variables private.
+ (find_autoconf): New, moved some code from the top level.
+ Use %ENV outside quotes to eliminate a warning.
+
2001-01-22 Tim Van Holder <tim.van.holder@pandora.be>
* acspecific.m4 (AC_PROG_LN_S): Detect DJGPP < 2.04, which only
require "find.pl";
use Getopt::Long;
+use strict;
+
+use vars qw($autoconf $datadir $initfile $me $name $verbose
+ @cfiles @makefiles @shfiles
+ %functions_macros %headers_macros %identifiers_macros
+ %programs_macros %makevars_macros %needed_macros
+ %c_keywords %programs %headers %identifiers %makevars
+ %libraries %functions %printed);
# Find the lib files and autoconf.
-$datadir = $ENV{"AC_MACRODIR"} || "@datadir@";
-($dir = $0) =~ s,[^/]*$,,;
-$autoconf = '';
-# We test "$dir/autoconf" in case we are in the build tree, in which case
-# the names are not transformed yet.
-foreach $file ("$ENV{AUTOCONF}" || '',
- "$dir/@autoconf-name@",
- "$dir/autoconf",
- "@bindir@/@autoconf-name@")
- {
- if (-f $file)
- {
- $autoconf = $file;
- last;
- }
- }
+&find_autoconf;
($me = $0) =~ s,.*/,,;
$verbose = 0;
exit 0;
+# find_autoconf
+# -------------
+# Find the lib files and autoconf.
+sub find_autoconf
+{
+ my $dir;
+ my $file;
+ $datadir = $ENV{"AC_MACRODIR"} || "@datadir@";
+ ($dir = $0) =~ s,[^/]*$,,;
+ $autoconf = '';
+ # We test "$dir/autoconf" in case we are in the build tree, in which case
+ # the names are not transformed yet.
+ foreach $file ($ENV{"AUTOCONF"} || '',
+ "$dir/@autoconf-name@",
+ "$dir/autoconf",
+ "@bindir@/@autoconf-name@")
+ {
+ if (-f $file)
+ {
+ $autoconf = $file;
+ last;
+ }
+ }
+}
+
# Display usage (--help).
sub print_usage
{
# Process any command line arguments.
sub parse_args
{
+ my $srcdir;
Getopt::Long::config ("bundling");
Getopt::Long::GetOptions ("A|autoconf-dir|m|macrodir=s" => \$datadir,
"h|help" => \&print_usage,
# Put values in the tables of what to do with each token.
sub init_tables
{
- local($kind, $word, $macro);
+ my ($kind, $word, $macro);
# Initialize a table of C keywords (to ignore).
# Taken from K&R 1st edition p. 180.
# that might create nonportabilities.
sub scan_files
{
+ my $file;
if (defined $cfiles[0])
{
$initfile = $cfiles[0]; # Pick one at random.
# -----------------
sub scan_c_file
{
- local($file) = @_;
- local($in_comment) = 0; # Nonzero if in a multiline comment.
+ my ($file) = @_;
+ my ($in_comment) = 0; # Nonzero if in a multiline comment.
open(CFILE, "<$file") || die "$me: cannot open $file: $!\n";
while (<CFILE>)
if ($verbose)
{
- local($word);
+ my ($word);
print "\n$file functions:\n";
foreach $word (sort keys %functions)
sub scan_makefile
{
- local($file) = @_;
+ my ($file) = @_;
open(MFILE, "<$file") || die "$me: cannot open $file: $!\n";
while (<MFILE>)
if ($verbose)
{
- local($word);
+ my ($word);
print "\n$file makevars:\n";
foreach $word (sort keys %makevars)
sub scan_sh_file
{
- local($file) = @_;
+ my ($file) = @_;
open(MFILE, "<$file") || die "$me: cannot open $file: $!\n";
while (<MFILE>)
if ($verbose)
{
- local($word);
+ my ($word);
print "\n$file programs:\n";
foreach $word (sort keys %programs)
# Print a proto configure.ac.
sub output
{
- local (%unique_makefiles);
+ my %unique_makefiles;
print CONF "# Process this file with autoconf to produce a configure script.\n";
print CONF "AC_INIT\n";
# Print Autoconf macro $1 if it's not undef and hasn't been printed already.
sub print_unique
{
- local($macro, @where) = @_;
+ my ($macro, @where) = @_;
if (defined($macro) && !defined($printed{$macro}))
{
sub output_programs
{
- local ($word);
+ my $word;
print CONF "\n# Checks for programs.\n";
foreach $word (sort keys %programs)
sub output_libraries
{
- local ($word);
+ my ($word);
print CONF "\n# Checks for libraries.\n";
foreach $word (sort keys %libraries)
sub output_headers
{
- local ($word);
+ my $word;
+ my @have_headers;
print CONF "\n# Checks for header files.\n";
foreach $word (sort keys %headers)
sub output_identifiers
{
- local ($word);
+ my $word;
+ my @have_types;
print CONF "\n# Checks for typedefs, structures, and compiler characteristics.\n";
foreach $word (sort keys %identifiers)
sub output_functions
{
- local ($word);
+ my $word;
+ my @have_funcs;
print CONF "\n# Checks for library functions.\n";
foreach $word (sort keys %functions)
# in `configure.ac'
sub check_configure_ac
{
- local ($configure_ac) = $@;
- local ($trace_option) = '';
- local ($word);
+ my ($configure_ac) = $@;
+ my ($trace_option) = '';
+ my ($word);
+ my ($macro);
foreach $macro (sort keys %needed_macros)
{
while (<TRACES>)
{
- local ($file, $line, $macro, $args) = split (/:/, $_, 4);
+ my ($file, $line, $macro, $args) = split (/:/, $_, 4);
delete ($needed_macros{$macro});
}
require "find.pl";
use Getopt::Long;
+use strict;
+
+use vars qw($autoconf $datadir $initfile $me $name $verbose
+ @cfiles @makefiles @shfiles
+ %functions_macros %headers_macros %identifiers_macros
+ %programs_macros %makevars_macros %needed_macros
+ %c_keywords %programs %headers %identifiers %makevars
+ %libraries %functions %printed);
# Find the lib files and autoconf.
-$datadir = $ENV{"AC_MACRODIR"} || "@datadir@";
-($dir = $0) =~ s,[^/]*$,,;
-$autoconf = '';
-# We test "$dir/autoconf" in case we are in the build tree, in which case
-# the names are not transformed yet.
-foreach $file ("$ENV{AUTOCONF}" || '',
- "$dir/@autoconf-name@",
- "$dir/autoconf",
- "@bindir@/@autoconf-name@")
- {
- if (-f $file)
- {
- $autoconf = $file;
- last;
- }
- }
+&find_autoconf;
($me = $0) =~ s,.*/,,;
$verbose = 0;
exit 0;
+# find_autoconf
+# -------------
+# Find the lib files and autoconf.
+sub find_autoconf
+{
+ my $dir;
+ my $file;
+ $datadir = $ENV{"AC_MACRODIR"} || "@datadir@";
+ ($dir = $0) =~ s,[^/]*$,,;
+ $autoconf = '';
+ # We test "$dir/autoconf" in case we are in the build tree, in which case
+ # the names are not transformed yet.
+ foreach $file ($ENV{"AUTOCONF"} || '',
+ "$dir/@autoconf-name@",
+ "$dir/autoconf",
+ "@bindir@/@autoconf-name@")
+ {
+ if (-f $file)
+ {
+ $autoconf = $file;
+ last;
+ }
+ }
+}
+
# Display usage (--help).
sub print_usage
{
# Process any command line arguments.
sub parse_args
{
+ my $srcdir;
Getopt::Long::config ("bundling");
Getopt::Long::GetOptions ("A|autoconf-dir|m|macrodir=s" => \$datadir,
"h|help" => \&print_usage,
# Put values in the tables of what to do with each token.
sub init_tables
{
- local($kind, $word, $macro);
+ my ($kind, $word, $macro);
# Initialize a table of C keywords (to ignore).
# Taken from K&R 1st edition p. 180.
# that might create nonportabilities.
sub scan_files
{
+ my $file;
if (defined $cfiles[0])
{
$initfile = $cfiles[0]; # Pick one at random.
# -----------------
sub scan_c_file
{
- local($file) = @_;
- local($in_comment) = 0; # Nonzero if in a multiline comment.
+ my ($file) = @_;
+ my ($in_comment) = 0; # Nonzero if in a multiline comment.
open(CFILE, "<$file") || die "$me: cannot open $file: $!\n";
while (<CFILE>)
if ($verbose)
{
- local($word);
+ my ($word);
print "\n$file functions:\n";
foreach $word (sort keys %functions)
sub scan_makefile
{
- local($file) = @_;
+ my ($file) = @_;
open(MFILE, "<$file") || die "$me: cannot open $file: $!\n";
while (<MFILE>)
if ($verbose)
{
- local($word);
+ my ($word);
print "\n$file makevars:\n";
foreach $word (sort keys %makevars)
sub scan_sh_file
{
- local($file) = @_;
+ my ($file) = @_;
open(MFILE, "<$file") || die "$me: cannot open $file: $!\n";
while (<MFILE>)
if ($verbose)
{
- local($word);
+ my ($word);
print "\n$file programs:\n";
foreach $word (sort keys %programs)
# Print a proto configure.ac.
sub output
{
- local (%unique_makefiles);
+ my %unique_makefiles;
print CONF "# Process this file with autoconf to produce a configure script.\n";
print CONF "AC_INIT\n";
# Print Autoconf macro $1 if it's not undef and hasn't been printed already.
sub print_unique
{
- local($macro, @where) = @_;
+ my ($macro, @where) = @_;
if (defined($macro) && !defined($printed{$macro}))
{
sub output_programs
{
- local ($word);
+ my $word;
print CONF "\n# Checks for programs.\n";
foreach $word (sort keys %programs)
sub output_libraries
{
- local ($word);
+ my ($word);
print CONF "\n# Checks for libraries.\n";
foreach $word (sort keys %libraries)
sub output_headers
{
- local ($word);
+ my $word;
+ my @have_headers;
print CONF "\n# Checks for header files.\n";
foreach $word (sort keys %headers)
sub output_identifiers
{
- local ($word);
+ my $word;
+ my @have_types;
print CONF "\n# Checks for typedefs, structures, and compiler characteristics.\n";
foreach $word (sort keys %identifiers)
sub output_functions
{
- local ($word);
+ my $word;
+ my @have_funcs;
print CONF "\n# Checks for library functions.\n";
foreach $word (sort keys %functions)
# in `configure.ac'
sub check_configure_ac
{
- local ($configure_ac) = $@;
- local ($trace_option) = '';
- local ($word);
+ my ($configure_ac) = $@;
+ my ($trace_option) = '';
+ my ($word);
+ my ($macro);
foreach $macro (sort keys %needed_macros)
{
while (<TRACES>)
{
- local ($file, $line, $macro, $args) = split (/:/, $_, 4);
+ my ($file, $line, $macro, $args) = split (/:/, $_, 4);
delete ($needed_macros{$macro});
}
require "find.pl";
use Getopt::Long;
+use strict;
+
+use vars qw($autoconf $datadir $initfile $me $name $verbose
+ @cfiles @makefiles @shfiles
+ %functions_macros %headers_macros %identifiers_macros
+ %programs_macros %makevars_macros %needed_macros
+ %c_keywords %programs %headers %identifiers %makevars
+ %libraries %functions %printed);
# Find the lib files and autoconf.
-$datadir = $ENV{"AC_MACRODIR"} || "@datadir@";
-($dir = $0) =~ s,[^/]*$,,;
-$autoconf = '';
-# We test "$dir/autoconf" in case we are in the build tree, in which case
-# the names are not transformed yet.
-foreach $file ("$ENV{AUTOCONF}" || '',
- "$dir/@autoconf-name@",
- "$dir/autoconf",
- "@bindir@/@autoconf-name@")
- {
- if (-f $file)
- {
- $autoconf = $file;
- last;
- }
- }
+&find_autoconf;
($me = $0) =~ s,.*/,,;
$verbose = 0;
exit 0;
+# find_autoconf
+# -------------
+# Find the lib files and autoconf.
+sub find_autoconf
+{
+ my $dir;
+ my $file;
+ $datadir = $ENV{"AC_MACRODIR"} || "@datadir@";
+ ($dir = $0) =~ s,[^/]*$,,;
+ $autoconf = '';
+ # We test "$dir/autoconf" in case we are in the build tree, in which case
+ # the names are not transformed yet.
+ foreach $file ($ENV{"AUTOCONF"} || '',
+ "$dir/@autoconf-name@",
+ "$dir/autoconf",
+ "@bindir@/@autoconf-name@")
+ {
+ if (-f $file)
+ {
+ $autoconf = $file;
+ last;
+ }
+ }
+}
+
# Display usage (--help).
sub print_usage
{
# Process any command line arguments.
sub parse_args
{
+ my $srcdir;
Getopt::Long::config ("bundling");
Getopt::Long::GetOptions ("A|autoconf-dir|m|macrodir=s" => \$datadir,
"h|help" => \&print_usage,
# Put values in the tables of what to do with each token.
sub init_tables
{
- local($kind, $word, $macro);
+ my ($kind, $word, $macro);
# Initialize a table of C keywords (to ignore).
# Taken from K&R 1st edition p. 180.
# that might create nonportabilities.
sub scan_files
{
+ my $file;
if (defined $cfiles[0])
{
$initfile = $cfiles[0]; # Pick one at random.
# -----------------
sub scan_c_file
{
- local($file) = @_;
- local($in_comment) = 0; # Nonzero if in a multiline comment.
+ my ($file) = @_;
+ my ($in_comment) = 0; # Nonzero if in a multiline comment.
open(CFILE, "<$file") || die "$me: cannot open $file: $!\n";
while (<CFILE>)
if ($verbose)
{
- local($word);
+ my ($word);
print "\n$file functions:\n";
foreach $word (sort keys %functions)
sub scan_makefile
{
- local($file) = @_;
+ my ($file) = @_;
open(MFILE, "<$file") || die "$me: cannot open $file: $!\n";
while (<MFILE>)
if ($verbose)
{
- local($word);
+ my ($word);
print "\n$file makevars:\n";
foreach $word (sort keys %makevars)
sub scan_sh_file
{
- local($file) = @_;
+ my ($file) = @_;
open(MFILE, "<$file") || die "$me: cannot open $file: $!\n";
while (<MFILE>)
if ($verbose)
{
- local($word);
+ my ($word);
print "\n$file programs:\n";
foreach $word (sort keys %programs)
# Print a proto configure.ac.
sub output
{
- local (%unique_makefiles);
+ my %unique_makefiles;
print CONF "# Process this file with autoconf to produce a configure script.\n";
print CONF "AC_INIT\n";
# Print Autoconf macro $1 if it's not undef and hasn't been printed already.
sub print_unique
{
- local($macro, @where) = @_;
+ my ($macro, @where) = @_;
if (defined($macro) && !defined($printed{$macro}))
{
sub output_programs
{
- local ($word);
+ my $word;
print CONF "\n# Checks for programs.\n";
foreach $word (sort keys %programs)
sub output_libraries
{
- local ($word);
+ my ($word);
print CONF "\n# Checks for libraries.\n";
foreach $word (sort keys %libraries)
sub output_headers
{
- local ($word);
+ my $word;
+ my @have_headers;
print CONF "\n# Checks for header files.\n";
foreach $word (sort keys %headers)
sub output_identifiers
{
- local ($word);
+ my $word;
+ my @have_types;
print CONF "\n# Checks for typedefs, structures, and compiler characteristics.\n";
foreach $word (sort keys %identifiers)
sub output_functions
{
- local ($word);
+ my $word;
+ my @have_funcs;
print CONF "\n# Checks for library functions.\n";
foreach $word (sort keys %functions)
# in `configure.ac'
sub check_configure_ac
{
- local ($configure_ac) = $@;
- local ($trace_option) = '';
- local ($word);
+ my ($configure_ac) = $@;
+ my ($trace_option) = '';
+ my ($word);
+ my ($macro);
foreach $macro (sort keys %needed_macros)
{
while (<TRACES>)
{
- local ($file, $line, $macro, $args) = split (/:/, $_, 4);
+ my ($file, $line, $macro, $args) = split (/:/, $_, 4);
delete ($needed_macros{$macro});
}