libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how to use circular dependencies


From: Ralf Wildenhues
Subject: Re: how to use circular dependencies
Date: Wed, 10 Aug 2005 17:18:55 +0200
User-agent: Mutt/1.4.1i

Hi Tom,

* tom fogal wrote on Wed, Aug 10, 2005 at 04:58:50PM CEST:
>  <address@hidden>Ralf Wildenhues writes:
> 
> >list.  From your response below (you stated that you did not need
> >libtool after all),  I gathered that this bug report is not so urgent
> >resp. that without using libtool things would work for you.  More below.
> 
> Well yes and no =). The post I made on the this list a little while
> back was for a work project, and I eventually found I didn't really
> need libtool and worked around it that way. Now I'm trying with a
> different, personal project that happens to have circular dependencies
> too, but theres no way I can avoid circular dependencies here =)

Ah, ok.

> >* tom fogal wrote on Mon, Jul 11, 2005 at 10:24:34PM CEST:
> >>  <address@hidden>Ralf Wildenhues writes:
> >> >* tom fogal wrote on Fri, Jul 08, 2005 at 08:14:51PM CEST:
> 
> >I don't understand exactly what you mean by this.
> >Do you have circular dependencies in shared libraries, in static
> >libraries, or in convenience libraries (or a combination of these)?
> 
> If I understand what a convenience library is correctly (static library
> that doesnt get installed), then both these projects are/were stuck
> with circular dependencies in convenience libraries only.

Convenience libraries are just collections of objects in an archive.
When another libtool-created library is linked against the archive, it
will be added as a whole, i.e., each object in the convenience lib will
be present in the output library (like the GNU ld --whole-archive
option).  When a program is linked against it, it will behave just as if
you link against a plain old archive -- each used symbol will be linked
in.

Does this make matters clear?

> >> address@hidden@lib/libSPPstrings.la
> >                     ^^
> >I believe there is a slash (/) missing here.
> 
> Its been too long for my little brain to remember clearly, but I
> vaguely remember having that slash there and seeing an extra / during
> builds. The build didn't seem to care about it, but it was
> aesthetically displeasing to me...
> Anyway let me verify that before you quote me on it =)

If you can let us reproduce it, we can either fix it or point out the
mis-use.  :)

> >> Well if theres more I can do to help in building a test case, just let
> >> me know / ask.
> >
> >It would save us some work if you could create a small/minimal test case
> >project which exhibits your failure.  I can't guarantee a quick fix
> >though, I haven't delved into the deplibs code for a while and it's
> >quite intricate.
> 
> Okay. Would it suffice if I made a minimal project that demonstrates
> the behavior?

That would still save a lot of work, yes.

> I'm not sure I completely understand the libtool tests,
> but it seems there is a series of sub-projects that are run by shell
> scripts in the tests/ directory...

We're trying to move away from that long-term (see the Autotest test
suite in CVS HEAD Libtool if you like).

Regards,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]