$FreeBSD$ --- aclocal.in.orig Sun Jul 15 13:52:18 2001 +++ aclocal.in Sat Aug 11 12:28:32 2001 @@ -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. @@ -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; }