Currently running $ checkall | cleanup | removelst strips a bunch of includes while the result still compiles (Unix console build).
MFLOLBCNL6CT72EB3I3QV3E7U6DKOGGCU3DNRF33D7R6GKA5JL6AC etags --declarations -D $1 -o - | grep '^[#a-z]' | grep -v '^'$b'\.h' \| tr '\177' '\t' | awk '{ print $(NF-1) }'
{_wrap_etags $1 \| grep '\(^[#a-z]\|^ *[0-9A-Z_][0-9A-Z_][0-9A-Z_]\)' \| grep -v '^'$b'\.h' \| tr '\177' '\t' | awk '{ print $(NF-1) }' \# etags misses namespace declarationsgrep namespace $1 | awk '{ print $NF }'# and some function definitions...grep '^[a-z]' $1 | grep '(' | cut -d'(' -f 1 | awk '{ print $NF }'} | sed -e 's/^\**//;s/[^a-zA-Z0-9]$//' | sort | uniq
# remove special includescleanup (){sed -e '/^quiver.h debug.cc$/d;/^quiver.h command.cc$/d;/^quiver.h it_use2.cc$/d;/^quiver.h output.cc$/d;/^ghost.h kills.cc$/d;/^cmd-\(name\|keys\)\.h macro.cc$/d;/^mon-spll.h mon-util.cc$/d;/^AppHdr.h /d;/ artefact.cc/d'}