Source code grapher
gcc
can creating profiling info when it builds.
It generates a .expand
file for each source file.
egypt
is a script that takes these files and outputs a graphviz file.
To build NeoMutt for egypt
, you need to add a option to the compiler.
The simplest way is to:
export EXTRA_CFLAGS="-fdump-rtl-expand"
./configure [OPTIONS]
make
egypt
can be run on any number of .expand
files.
Just the startup code:
egypt main.c.*.expand init.c.*.expand > startup.gv
The compose dialog:
egypt compose/*.expand envelope/*.expand > compose.gv
The ImageMagick package has a display
program that can view .gv
files
directly.
Alternatively, you can use GraphViz’s dot
program to convert it to an image:
dot -Tpng compose.gv > compose.png
The graphviz file is in text format and can get quite verbose.
Especially with the frequent use of library functions.
You may wish to filter out mutt_buffer_string()
.