diff options
Diffstat (limited to 'contrib/header-tools/count-headers')
-rwxr-xr-x | contrib/header-tools/count-headers | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/contrib/header-tools/count-headers b/contrib/header-tools/count-headers new file mode 100755 index 000000000000..7a92596a6021 --- /dev/null +++ b/contrib/header-tools/count-headers @@ -0,0 +1,58 @@ +#! /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" + + + + + + |