Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2001-06-04 20:34:42


----- Original Message -----
From: "Thomas Matelich" <sosedada_at_[hidden]>

> I can't give you a canonical answer, but I'll share what I know. A shared
> library must be built with PIC object files. Anything can be built with
PIC
> code, but linking will be slower for static entities than if you didn't
have
> PIC. I can't remember if PIC code runs slower, but I don't think so.
>
> Regarding your transitive assumption, things are peculiar. On Linux (ELF
> format), a shared library can link in a static library even if the static
> library was not built PIC. On HP-UX (not ELF), anything linked into a
shared
> library must be build PIC. So, it is tempting to build everything PIC
because
> of platforms like HP-UX.

I guess I'd like a more definitive answer about whether there's a downside
to PIC.

> I would have expected Jam to have already figured this stuff out.

They may have, but since our needs are different than the ones they address
with the built-in Jambase, we can't just use their approach and expect it to
work for us.

> If you're in
> the mood to look at a different build system, you could get tmake from
> ftp.trolltech.com/pub/freebies/tmake. They have a hierarchical system of
rules
> regarding building apps and libs on many platform-compiler combinations.

Requires Perl; generates makefiles; doesn't support Mac.
I think this fails to be adequate for boost on many counts. I don't know
about the licensing terms.

> Alternatively, qmake (c++ implementation) is bundled into the qt 2.30 beta
and
> adds support for Mac.

Not! (?) At least I downloaded the 2.3 "free release" and grepped the files
for "qmake" coming up empty!

> I was going to suggest boost look at qmake, but I don't know if they go as
far
> with things like debug and release. Otherwise, their .pro file format is
quite
> nice.

Thanks anyway...

-Dave


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