wesnoth/utils/headers
..
build_headers.sh
header_times.sh
readme.md

This directory contains tools to help analyze header dependencies.

The first script is "build_headers". It runs clang with -H option, to generate header dependencies, over the entire source directory, and builds out of tree copies of all files with a listing of all headers they directly or indirectly include. You may run it with various filters for level of detail.

Build headers will generate a sorted "rank" file which indicates how many compilation units include each header.

The second script is "header_times". It takes a compilation log, generated by scons with debug=time option (such as found on travis), and builds a second ranking in which compilation units are weighted by the total time that they take.