2 # -*- Mode: perl; indent-tabs-mode: nil -*-
14 my $current_hash_name;
21 open MAKEFILE_AM, "<./Makefile.am";
23 while (<MAKEFILE_AM>) {
24 if (/libgnomevfsinclude_HEADERS/) {
25 $current_hash = \%public_headers
26 } elsif (/libgnomevfsmoduleinclude_HEADERS/) {
27 $current_hash = \%module_headers
28 } elsif (/noinst_HEADERS/) {
29 $current_hash = \%private_headers
30 } elsif (/\$\(NULL\)/ || ! /\\/) {
37 $current_header =~ s/[ \t]*(.*\.h)[ \t]*.*/$1/;
40 $$current_hash{$current_header} = 1;
47 for my $public_header (keys %public_headers) {
48 open HEADER, "<${public_header}";
50 if (/\#include[ \t]+<libgnomevfs\/.*\.h>.*/) {
52 $included_header = $_;
53 $included_header =~ s/\#include[ \t]+<libgnomevfs\/(.*\.h)>.*/$1/;
55 if ($private_headers{$included_header}) {
56 print "Public header \"$public_header\" includes private header \"$included_header\"\n";
58 } elsif ($module_headers{$included_header}) {
59 print "Public header \"$public_header\" includes module API header \"$included_header\"\n";
61 } elsif ($public_headers{$included_header}) {
62 print "Public header \"$public_header\" includes public header \"$included_header\"\n" if $DEBUG;
64 print "Public header \"$public_header\" includes unknown header \"$included_header\"\n";
73 for my $module_header (keys %module_headers) {
74 open HEADER, "<${module_header}";
77 if (/\#include[ \t]+<libgnomevfs\/.*\.h>.*/) {
79 $included_header = $_;
80 $included_header =~ s/\#include[ \t]+<libgnomevfs\/(.*\.h)>.*/$1/;
82 if ($private_headers{$included_header}) {
83 print "Module API header \"$module_header\" includes private header \"$included_header\"\n";
85 } elsif ($module_headers{$included_header}) {
86 print "Module API header \"$module_header\" includes public header \"$included_header\"\n" if $DEBUG;
87 } elsif ($public_headers{$included_header}) {
88 print "Module API header \"$module_header\" includes public header \"$included_header\"\n" if $DEBUG;
90 print "Module API header \"$module_header\" includes unknown header \"$included_header\"\n";
99 for my $private_header (keys %private_headers) {
100 open HEADER, "<${private_header}";
103 if (/\#include[ \t]+<libgnomevfs\/.*\.h>.*/) {
105 $included_header = $_;
106 $included_header =~ s/\#include[ \t]+<libgnomevfs\/(.*\.h)>.*/$1/;
108 if ($private_headers{$included_header}) {
109 print "Private header \"$private_header\" includes private header \"$included_header\"\n" if $DEBUG;
110 } elsif ($module_headers{$included_header}) {
111 print "Private header \"$private_header\" includes module API header \"$included_header\"\n" if $DEBUG;
112 } elsif ($public_headers{$included_header}) {
113 print "Private header \"$private_header\" includes public header \"$included_header\"\n" if $DEBUG;
115 print "Private header \"$private_header\" includes unknown header \"$included_header\"\n";