From: marlow.andrew on
A while ago I wrote a tool to produce a dependency graph for C/C++
libraries using graphviz. This was to help on large C/C++ established
projects where the libraries had become very tangled over the years.
The project is called depdot and is on sourceForge at
https://sourceforge.net/projects/depdot.

I see from the statistics that it is hardly used and I am puzzled as
to why. When I wrote it there was no other comparable tool, as far as
I could see. The problem of making sense of a large project with lots
of tangled C/C++ libraries comes up time and time again. Well, at
least it does for me. So it seemed it would fill a need. But the
statistics seem to say otherwise. Is this because it is not generally
a problem? Or maybe there is a better tool out there that I don't know
about?

So, I am trying to find out what other C/C++ developers do when
confronted with the problem of making sense of a large set of tangled
libraries. If there is another tool that does it better I can retire
depdot and make the webpages point to the better software. If depdot
needs to be improved before people will really find it useful then I
need to know that too. Maybe I have been really unlucky and most
people never encounter tangled libraries.

One possibility is that people are put off by the alpha status of
depdot on sourceForge. I am tempted to promote it to beta or even
mature but I am hesitant without having had much feedback and with
such low download statistics. Does the current alpha status put people
off?

Note: I have been saying C/C++ when actually, depdot works for any
".a" or ".so" library. Also, I am ware that there is no such language
as C/C++!!! It's just that I see the problem most often in either C
projects or C++ projects. This does not seem to be a concern for java.
The main problem with tangled libraries for compiled languages is to
do with problems at link time. Such problems include the library order
being critical, fragile and requiring the same library names to be
repeated at various points in the linker command line.

Regards,

Andrew Marlow

--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Andrei Alexandrescu (See Website For Email) on
marlow.andrew(a)googlemail.com wrote:
> A while ago I wrote a tool to produce a dependency graph for C/C++
> libraries using graphviz. This was to help on large C/C++ established
> projects where the libraries had become very tangled over the years.
> The project is called depdot and is on sourceForge at
> https://sourceforge.net/projects/depdot.
>
> I see from the statistics that it is hardly used and I am puzzled as
> to why. When I wrote it there was no other comparable tool, as far as
> I could see. The problem of making sense of a large project with lots
> of tangled C/C++ libraries comes up time and time again. Well, at
> least it does for me. So it seemed it would fill a need. But the
> statistics seem to say otherwise. Is this because it is not generally
> a problem? Or maybe there is a better tool out there that I don't know
> about?
>
> So, I am trying to find out what other C/C++ developers do when
> confronted with the problem of making sense of a large set of tangled
> libraries. If there is another tool that does it better I can retire
> depdot and make the webpages point to the better software. If depdot
> needs to be improved before people will really find it useful then I
> need to know that too. Maybe I have been really unlucky and most
> people never encounter tangled libraries.
>
> One possibility is that people are put off by the alpha status of
> depdot on sourceForge. I am tempted to promote it to beta or even
> mature but I am hesitant without having had much feedback and with
> such low download statistics. Does the current alpha status put people
> off?
>
> Note: I have been saying C/C++ when actually, depdot works for any
> ".a" or ".so" library. Also, I am ware that there is no such language
> as C/C++!!! It's just that I see the problem most often in either C
> projects or C++ projects. This does not seem to be a concern for java.
> The main problem with tangled libraries for compiled languages is to
> do with problems at link time. Such problems include the library order
> being critical, fragile and requiring the same library names to be
> repeated at various points in the linker command line.
>
> Regards,
>
> Andrew Marlow
>

Depdot sounds like an interesting tool. I first heard about it just now,
and that may be part of the problem - there's not enough "advertisement"
of the product. Among things you can do, you could at least provide a
blessed image so we can get a taste. The Screenshot section at
sourceforge lists nothing. Searching google images for "depdot" yields
nothing. I'd be quite curious!


Andrei


--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: AnonMail2005 on
On Nov 9, 9:00 pm, marlow.and...(a)googlemail.com wrote:
> A while ago I wrote a tool to produce a dependency graph for C/C++
> libraries using graphviz. This was to help on large C/C++ established
> projects where the libraries had become very tangled over the years.
> The project is called depdot and is on sourceForge athttps://sourceforge.net/projects/depdot.
>
> I see from the statistics that it is hardly used and I am puzzled as
> to why. When I wrote it there was no other comparable tool, as far as
> I could see. The problem of making sense of a large project with lots
> of tangled C/C++ libraries comes up time and time again. Well, at
> least it does for me. So it seemed it would fill a need. But the
> statistics seem to say otherwise. Is this because it is not generally
> a problem? Or maybe there is a better tool out there that I don't know
> about?
>
> So, I am trying to find out what other C/C++ developers do when
> confronted with the problem of making sense of a large set of tangled
> libraries. If there is another tool that does it better I can retire
> depdot and make the webpages point to the better software. If depdot
> needs to be improved before people will really find it useful then I
> need to know that too. Maybe I have been really unlucky and most
> people never encounter tangled libraries.
>
> One possibility is that people are put off by the alpha status of
> depdot on sourceForge. I am tempted to promote it to beta or even
> mature but I am hesitant without having had much feedback and with
> such low download statistics. Does the current alpha status put people
> off?
>
> Note: I have been saying C/C++ when actually, depdot works for any
> ".a" or ".so" library. Also, I am ware that there is no such language
> as C/C++!!! It's just that I see the problem most often in either C
> projects or C++ projects. This does not seem to be a concern for java.
> The main problem with tangled libraries for compiled languages is to
> do with problems at link time. Such problems include the library order
> being critical, fragile and requiring the same library names to be
> repeated at various points in the linker command line.
>
> Regards,
>
> Andrew Marlow
>

I get library dependency graphs from Doxygen. One of it's options is
to show directory dependencies from source files. Since we have each
of our libraries in a seperate directory this work fine.

BTW, it uses graphviz to draw it's pictures.

HTH


--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Eddy Pronk on
Andrei Alexandrescu (See Website For Email) wrote:

> Depdot sounds like an interesting tool. I first heard about it just now,
> and that may be part of the problem - there's not enough "advertisement"
> of the product. Among things you can do, you could at least provide a
> blessed image so we can get a taste. The Screenshot section at
> sourceforge lists nothing. Searching google images for "depdot" yields
> nothing. I'd be quite curious!

I wrote something similar a few years ago.

http://www.muftor.com/Wikka/wikka.php?wakka=NmDepend
http://sourceforge.net/projects/nmdepend/

It has a few images on the webpage.

Cheers,
Eddy


--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: marlow.andrew on
On 10 Nov, 18:30, "AnonMail2...(a)gmail.com" <AnonMail2...(a)gmail.com>
wrote:
> On Nov 9, 9:00 pm, marlow.and...(a)googlemail.com wrote:
> > A while ago I wrote a tool to produce a dependency graph for C/C++
> > libraries using graphviz. This was to help on large C/C++ established
> > projects where the libraries had become very tangled over the years.
> > The project is called depdot and is on sourceForge

> I get library dependency graphs from Doxygen. One of it's options is
> to show directory dependencies from source files. Since we have each
> of our libraries in a seperate directory this work fine.

doxygen requires the source code and does not know what your library
arrangement is (i.e which object files go into what libraries). depdot
works on the library archives themselves and shows which libraries
depend on which others.


--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

 |  Next  |  Last
Pages: 1 2 3
Prev: strcpy_s vs strcpy
Next: Variadic templates