--- autoconf-2.13/autoscan.pl~ Tue Jul 10 19:00:10 2001 +++ autoconf-2.13/autoscan.pl Tue Jul 10 19:00:10 2001 @@ -123,14 +123,33 @@ # Called by &find on each file. sub wanted { - if (/^.*\.[chlymC]$/ || /^.*\.cc$/) { - $name =~ s?^\./??; push(@cfiles, $name); - } - elsif (/^[Mm]akefile$/ || /^[Mm]akefile\.in$/ || /^GNUmakefile$/) { - $name =~ s?^\./??; push(@makefiles, $name); - } - elsif (/^.*\.sh$/) { - $name =~ s?^\./??; push(@shfiles, $name); + # Wanted only if there is no corresponding FILE.in. + return + if -f "$_.in"; + + # Strip a useless leading `./'. + $name =~ s,^\./,,; + + if (/^.*\.[chlymC](\.in)?$/) + { + push (@cfiles, $name); + $programs{cc}++; + } + elsif (/^.*\.(cc|cpp|cxx|CC|C|hh|hpp|hxx|HH|H|yy|ypp|ll|lpp)(\.in)?$/) + { + push (@cfiles, $name); + $programs{CC}++; + } + elsif (/^[Mm]akefile(\.in)?$/ || /^GNUmakefile$/) + { + # Wanted only if there is no corresponding Makefile.in. + # Using Find, $_ contains the current filename with the current + # directory of the walk through. + push (@makefiles, $name); + } + elsif (/^.*\.sh(\.in)?$/) + { + push (@shfiles, $name); } } @@ -244,7 +263,7 @@ $libraries{$1}++; } # Tokens in the code. - while (s/\W([a-zA-Z_]\w*)\W/ /) { + while (s/\W([a-zA-Z_][\w\+\.-]*)\W/ /) { $programs{$1}++; } }