Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2005-08-29 13:00:21


John Maddock wrote:
>
> I believe that both issues should be solvable with header
> refactoring: as
> far as auto-linking goes, it means that the declarations for objects
> that
> are placed in the compiled lib need to be factored out into separate
> headers.

This is basically the problem. header extended_type_info can be included in
places where not all the functions are in fact called. So normally there
would be no need to link the library. OTOH, just including the header
provokes the auto-linking. I'm currently looking at how to factor this
into two pieces - one that is header only and one that requires linking to a
library. This is made somewhat more tricky that first meets the eye due to
the fact the the serialization library is pretty large and that
extended_type_info in used in several places for similar but unrelated
purposes.

> Robert: is there any help you need from me with the auto-linking code?
> Anything that you don't understand or is causing problems here?

In the course of implementing auto-linking in the serialization library I
became quite familiar with the auto-linking facility - much more than I
thought I would have to be. In large part this is due to the design of the
serialization libary. Its actually three pieces

a) basic faciliies - e.g. extended type info, void_cast, etc
b) basic archive facilities - serialization.lib (which includes a) above)
b) archive faciltiy for wide char i/o - wserialization.lib. This latter
imports references from b) above since that library/DLL contains the archive
base class implementations.

So it was quite an effort to keep these things from stepping all over each
other. The final result is quite clean and I only have this problem left
which I am working on now.

Robert Ramey


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