Dependency graphs of Scilab modules

classic Classic list List threaded Threaded
2 messages Options
Sylvestre Ledru Sylvestre Ledru
Reply | Threaded
Open this post in threaded view
|

Dependency graphs of Scilab modules

Hi

Here is a graph showing the dependencies of Scilab libs/modules on the
current trunk version of Scilab.

As attachement, the source of the graph (dot format). In the source of
this file, you will find which symbol(s) the libs depends on.
I removed some dependencies which are not very usefull for this graph:

        libsciarnoldi
        libext1f /* dyn link */
        librosenc /* dyn link */
        libmytest /* dyn link */
        libgluegen-rt /* jogl */
        libscioutput_stream
        libscicore
        libscimalloc
        libsciblas
        libscilapack


To regenerate the graph:
dot -Tjpg scilab_module_dependency_28_feb_2008_10-40.dot >
scilab_module_dependency_28_feb_2008_10-40.jpg

This stuff is provided by the graphviz package under Debian (and
consequently Ubuntu).

Sylvestre


scilab_module_dependency_28_feb_2008_10-40.dot (59K) Download Attachment
scilab_module_dependency_28_feb_2008_10-40.jpg (601K) Download Attachment
Sylvestre Ledru Sylvestre Ledru
Reply | Threaded
Open this post in threaded view
|

Re: Dependency graphs of Scilab modules

Based on the script which is producing this output, I updated all the
Makefile.am with right dependencies. This was needed since many deps
changed since the Makefile.am were wrote. Please note that I had to
comment some of them because of cyclic dependencies or because the
processing order is way too complicated to do.

Please note that I may have broken the trunk under Linux.

I also removed a borring "bug" (" because some people call it a feature)
describe here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=419228


If you have 3 libtool convenient libs:
libA => libB => libC
libC will embded all the dep that libA has.

In Scilab case, this was causing some stupid stuff like:
The boolean library had to do a string test, then we linked it to the
scilab String library which is using pcre. This was causing lib boolean
to link the pcre library.

For those who will find this email on Google (or me, in a few months
when I will have forgotten how I did it), I am using the Debian patched
version of libtool currently the one in unstable (1.5.26-1).
I updated the appropriate files doing
# libtoolize -c -f
And I use the macros:
AC_PROG_LIBTOOL
AM_PROG_LIBTOOL
in the configure.ac

And, still in the configure.ac, I added the option:
link_all_deplibs=no
to make sure that deps are not propagated.

And finally, watch you the version you are using, I found a few bugs in
it.

Sylvestre


Le jeudi 28 février 2008 à 11:07 +0100, Sylvestre Ledru a écrit :

> Hi
>
> Here is a graph showing the dependencies of Scilab libs/modules on the
> current trunk version of Scilab.
>
> As attachement, the source of the graph (dot format). In the source of
> this file, you will find which symbol(s) the libs depends on.
> I removed some dependencies which are not very usefull for this graph:
>
> libsciarnoldi
> libext1f /* dyn link */
> librosenc /* dyn link */
> libmytest /* dyn link */
> libgluegen-rt /* jogl */
> libscioutput_stream
> libscicore
> libscimalloc
> libsciblas
> libscilapack
>
>
> To regenerate the graph:
> dot -Tjpg scilab_module_dependency_28_feb_2008_10-40.dot >
> scilab_module_dependency_28_feb_2008_10-40.jpg
>
> This stuff is provided by the graphviz package under Debian (and
> consequently Ubuntu).
>
> Sylvestre
>