1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-23 20:51:43 +00:00
freebsd-ports/devel/automake/files/patch-ad
Akinori MUSHA 2ed974f158 - Do not read a file more than once, where the sameness is judged by
the inode numbers of files.

  This should fix the "duplicated macros" error when aclocal is
  invoked with `-I ${X11BASE}/share/aclocal' explicitly.

- Do not scan ${X11BASE}/share/aclocal if it does not exist. (Or it's
  (a symlink to)* a directory)

  This should fix the "no such directory" error when you build a non-X
  port without X installed. (like on bento)
2000-07-19 10:44:14 +00:00

50 lines
1.2 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--- 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);