aboutsummaryrefslogtreecommitdiff
path: root/devel/automake15/files/patch-ad
blob: ddf7317ff6551e52489dd8314014ad29be68dc7f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

$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;
 	}