Blob Blame History Raw
--- 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}++;
 	}
     }