Hi all,
I'm using depgraph to show dependencies between glib/gstreamer
components.
So I wrote a new binary_archive nodefinder to list dependencies
between .o files inside .a files.
Here is a basic example :
Let's say you have compiled glib sources. You will have several .libs
directories created inside each
subdirectory of the glib sources (gio,glib,gmodule,gobject,gthread).
For each of theses directories,
pack every .o files into one .a. Then just launch :
depgraph -type binary_archive -location "../gio.a, ../glib.a,../
gmodule.a,../gobject.a,../gthread.a" -output test.dot
result:
http://potipota.net/~djdeath/all_trans.svg
This will produces a nice graph of dependencies :)
The other thing is, now you want to display direct dependencies of the
gtimer.o object inside glib.a, then launch:
depgraph -type binary_archive -location "../gio.a, ../glib.a,../
gmodule.a,../gobject.a,../gthread.a" -output test.dot -only_direct
glib.a/gtimer.o
result :
http://potipota.net/~djdeath/gtimer.svg
This will produce a nice display of the direct dependencies of
gtimer.o through all .a files.
Here is my plans :
- I want to pack every .o files from one .a into a box (just like this
http://www.graphviz.org/Gallery/undirected/fdpclust.html)
- integrate everything in a nice gtk2 gui to select which nodes have
to be removed to shrink the size of glib on embedded systems.
Hope you enjoy theses patches.
Regards,
--
Lionel Landwerlin