--- aclocal.in.orig Mon Jan 11 11:35:27 1999 +++ aclocal.in Wed Jul 19 19:13:05 2000 @@ -34,6 +34,8 @@ # Note that this isn't pkgdatadir, but a separate directory. $acdir = "@datadir@/aclocal"; +$acdir_x11 = '%%X11BASE%%/share/aclocal'; + # Some globals. # Exit status. @@ -103,6 +105,9 @@ local (@dirlist) = &parse_arguments (@ARGV); + +unshift @dirlist, $acdir_x11 if -d "$acdir_x11/."; + &scan_m4_files ($acdir, @dirlist); &scan_configure; if (! $exit_status) @@ -266,12 +271,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. @@ -281,6 +287,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);