aboutsummaryrefslogtreecommitdiffstats
path: root/devel/automake16/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;
    }