1# SPDX-License-Identifier: CC0-1.0
2#!/usr/bin/env perl
3#
4# checkincludes: Find files included more than once in (other) files.
5
6foreach $file (@ARGV) {
7	open(FILE, $file) or die "Cannot open $file: $!.\n";
8
9	my %includedfiles = ();
10
11	while (<FILE>) {
12		if (m/^\s*#\s*include\s*[<"](\S*)[>"]/o) {
13			++$includedfiles{$1};
14		}
15	}
16	foreach $filename (keys %includedfiles) {
17		if ($includedfiles{$filename} > 1) {
18			print "$file: $filename is included more than once.\n";
19		}
20	}
21
22	close(FILE);
23}
24