--- aclocal.in.orig	Sun Jul 15 06:52:18 2001
+++ aclocal.in	Sat Oct 19 12:28:09 2002
@@ -32,7 +32,9 @@
 $PACKAGE = "@PACKAGE@";
 $prefix = "@prefix@";
 # Note that this isn't pkgdatadir, but a separate directory.
-$acdir = "@datadir@/aclocal";
+$acdir = "@datadir@/aclocal14";
+
+$acdir_x11 = '%%X11BASE%%/share/aclocal';
 
 # Some globals.
 
@@ -106,6 +108,9 @@
 
 
 local (@dirlist) = &parse_arguments (@ARGV);
+
+unshift @dirlist, $acdir_x11 if -d "$acdir_x11/.";
+
 &scan_m4_files ($acdir, @dirlist);
 &scan_configure;
 if (! $exit_status)
@@ -279,12 +284,13 @@
 	$file_contents{'acinclude.m4'} = &scan_file ('acinclude.m4');
     }
 
+    local (@skipinolist) = ();
     local ($m4dir);
     foreach $m4dir (@dirlist)
     {
 	opendir (DIR, $m4dir)
 	    || die "aclocal: couldn't open directory \`$m4dir': $!\n";
-	local ($file, $fullfile, $expr);
+	local ($file, $fullfile, $ino, $expr);
 	foreach $file (sort grep (! /^\./, readdir (DIR)))
 	{
 	    # Only examine .m4 files.
@@ -294,6 +300,12 @@
 	    next if $file eq 'aclocal.m4';
 
 	    $fullfile = $m4dir . '/' . $file;
+
+	    # Do not scan a file more than once.
+	    $ino = (stat($fullfile))[1];
+	    next if grep($ino eq $_, @skipinolist);
+	    push @skipinolist, $ino;
+
 	    $file_contents{$fullfile} = &scan_file ($fullfile);
 	}
 	closedir (DIR);
@@ -400,7 +412,7 @@
 	    elsif ($map{$1} ne 'acinclude.m4' || $file eq 'acinclude.m4')
 	    {
 		warn "aclocal: $file: $.: duplicated macro \`$1'\n";
-		$exit_status = 1;
+		# $exit_status = 1;
 	    }
 	    print STDERR "Found macro $1 in $file: $.\n" if $verbosity;
 	}
