|
Boost : |
From: Bennett, Patrick (Patrick.Bennett_at_[hidden])
Date: 2005-05-25 16:30:57
> -----Original Message-----
> From: boost-bounces_at_[hidden]
[mailto:boost-bounces_at_[hidden]]
> On Behalf Of Victor A. Wagner Jr.
> Sent: Wednesday, May 25, 2005 3:42 PM
> To: boost_at_[hidden]; boost_at_[hidden]
> Subject: Re: [boost] Customer Friendlier Boost Installation
>
> At 04:13 2005-05-25, Stuart Dootson wrote:
> >[deleted]
> >One final point - whoever came up with the autolinking scheme (think
> >it was John Maddock?) - thank you very much - that makes life *so*
> >much easier!
>
> Yes, it does!
> It's a wonder that the committee didn't insist long ago that there be
a
> directive in the language which would pass a name(file?) to the linker
for
> processing. It's not like we haven't been fighting this problem since
the
> late 1970s and it's still a compiler specific thing. Kinda makes you
> wonder exactly what things the committee deems important, and why (we
> STILL
> don't have #pragma once as a "standard" requirement).
[Bennett, Patrick] Personally, I think the pragma 'link' options are an
absolute disaster for large projects.
It's far, far too easy to end up with lots of libraries getting linked
in with users having no idea how or why they're being linked against.
Since many developers tend to be rather over-eager in #including headers
(bah, just include it all!) it's quite common for library x to include
library y which happens to include library z. Users then wonder why
their application is suddenly dependent on libraries they never even
'use'.
Libraries linked against should always be completely explicit IMO (or
managed by a build system that documents the dependencies). When the
linkage is explicit, the cases where libraries have too many
inter-dependencies (usually incorrect) tend to get fixed pretty quickly.
Patrick Bennett
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk