gcc/contrib/header-tools/count-headers
Andrew MacLeod bd94906f98 count-headers: Initial file.
2015-11-11  Andrew MacLeod  <amacleod@redhat.com>

	* count-headers: Initial file.
	* gcc-order-headers: Initial file.
	* graph-header-logs: Initial file.
	* graph-include-web: Initial file.
	* headerutils.py: Initial file.
	* included-by: Initial file.
	* README: Initial file.
	* reduce-headers: Initial file.
	* replace-header: Initial file.
	* show-headers: Initial file.

From-SVN: r230171
2015-11-11 14:28:46 +00:00

59 lines
991 B
Python
Executable File

#! /usr/bin/python2
import os.path
import sys
import shlex
import re
from headerutils import *
usage = False
src = list ()
flist = { }
process_h = True
process_c = True
verbose = False
all_inc = True
level = 0
only_use_list = list ()
for x in sys.argv[1:]:
if x[0:2] == "-h":
usage = True
else:
src.append (x)
if not usage and len (src) > 0:
incl = { }
for fn in src:
src = readwholefile (fn)
dup = { }
for line in src:
d = find_pound_include (line, True, True)
if d != "" and d[-2:] ==".h":
if dup.get (d) == None:
if incl.get (d) == None:
incl[d] = 1
else:
incl[d] = incl[d]+ 1
dup[d] = 1
l = list ()
for i in incl:
l.append ((incl[i], i))
l.sort (key=lambda tup:tup[0], reverse=True)
for f in l:
print str (f[0]) + " : " + f[1]
else:
print "count-headers file1 [filen]"
print "Count the number of occurrences of all includes across all listed files"