Boost logo

Boost :

Subject: Re: [boost] [config] GCC symbol visibility across shared libraries
From: Jürgen Hunold (juergen.hunold_at_[hidden])
Date: 2010-05-19 14:16:13


Hi Beman !

On Wednesday, 19. May 2010 15:30:24 you wrote:
> On Thu, May 6, 2010 at 12:42 PM, Jürgen Hunold <juergen.hunold_at_[hidden]>
wrote:
> > I've got a working patch set lying around. Please find it attached.
> > Real life got in the way (as usual)...
>
> Your patch has been VERY helpful, and I've used it as the starting
> point! Thanks!

You're welcome. I'm glad to help.

> In addition to that change, I've moved the definitions from win32.hpp
> into the specific compilers involved. These visibility macros are
> compiler extensions to C++, and are starting to show up in platforms
> other than Windows.

The rationale for the win32.hpp was that _every_ compiler has to support
___declspec on this platform.
I don't know if clang on linux supports __declspec or uses gcc __attribute.
So I think win32.hpp + platform compiler setup might be the way.
Or even unix.hpp with __attribute usage for all gcc compatible compilers.
Else we have a high redundancy defining the same macros in every compilers
header.

> I've also edited the docs changes somewhat.

Thanks, writing docs is a weak point (at least for me ;-))

> So far, I've only made changes to Boost.System. See the attached.
> (I've also made a lot of tweaks to Boost.System tests, but those are
> of limited interest so aren't included in the attached diff.)

looks good.

> Unless there are objections, I'll commit these to trunk, and wait
> until tests have cycled for several days before doing anything with
> other libraries. We will want to alert developers of other libraries,
> as some of them will prefer to make their own changes. Others will be
> happy if someone else makes the changes.

My only objection is the redundancy introduced by moving the logic out of
win32.hpp. I don't like lots of identic definitions flying around.

Yours,

Jürgen

-- 
* Dipl.-Math. Jürgen Hunold       ! Ingenieurgesellschaft für 
* voice: ++49 511 262926 57       ! Verkehrs- und Eisenbahnwesen mbH  
* fax  : ++49 511 262926 99       ! Lister Straße 15
* juergen.hunold_at_[hidden]        ! www.ivembh.de
* 
* Geschäftsführer:                ! Sitz des Unternehmens: Hannover
* Prof. Dr.-Ing. Thomas Siefer    ! Amtsgericht Hannover, HRB 56965
* PD Dr.-Ing. Alfons Radtke       !

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