xref: /linux-6.15/scripts/checkincludes.pl (revision f9d490ab)
1#!/usr/bin/perl
2#
3# checkincludes: Find files included more than once in (other) files.
4# Copyright abandoned, 2000, Niels Kristian Bech Jensen <[email protected]>.
5
6sub usage {
7	print "Usage: checkincludes.pl <file list>\n";
8	exit 1;
9}
10
11if ($#ARGV < 0) {
12        usage();
13}
14
15foreach $file (@ARGV) {
16	open(FILE, $file) or die "Cannot open $file: $!.\n";
17
18	my %includedfiles = ();
19
20	while (<FILE>) {
21		if (m/^\s*#\s*include\s*[<"](\S*)[>"]/o) {
22			++$includedfiles{$1};
23		}
24	}
25
26	close(FILE);
27
28	foreach $filename (keys %includedfiles) {
29		if ($includedfiles{$filename} > 1) {
30			print "$file: $filename is included more than once.\n";
31		}
32	}
33}
34