Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2001-08-18 15:14:01


----- Original Message -----
From: "John Maddock" <John_Maddock_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Saturday, August 18, 2001 7:17 AM
Subject: Re: [boost] jam build problems

>
> >It seems to me that you want all the code that's referenced by an
exported
> >symbol.
>
> Then we're at cross purposes here... in the regex case, using the
> workaround you describe (building a static lib first, and then linking
with
> a stub dll entry point), the lib would contain symbols that need to be in
> the dll, but are not referenced by any code within the dll itself

That's what you want, right?

> - these symbols do not end up in the dll with gcc (and yes I've checked).

The counterexample I posted on Thursday seems to prove otherwise. Did you
try it? What am I missing?

> >...but it needs everything that is referenced by an exported symbol.
>
> No, everything is exported, exported symbols do not (necessarily)
reference
> each other.

Okay, I'm confused again.

> >In any case, doesn't the enclosed subproject (which works under the build
> >system with cygwin, BTW) sort of put the argument to rest? Or have I
> missed
> >something?
>
> Yes, you've cheated<bg>, by referencing symbols in the lib from the dll
> source.

In my example, there was also a symbol in the lib which was not referenced
from the DLL source but which needed to be exported from the DLL. It too was
exported.

It seems to me that if this scheme doesn't work, it should be easy enough
for you to come up with a counterexample that will illustrate why. In
general it's much easier to prove that something doesn't work than that it
does, anyway. So, if you please, could you put together a simple project
that illustrates the problem?

By the way, I've been giving some thought to the line-length limitation
problem, and I think that automated workarounds may be possible.
Unfortunately, in the GCC case the solutions will rely on being able to
build an archive (static lib) "piecemeal" (at least under the covers) so if
there really /is/ a problem building shared libraries out of static libs,
we're back to square 1.

-Dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk