Boost logo

Boost-Build :

From: Rene Rivera (grafik.list_at_[hidden])
Date: 2005-08-26 10:15:11


Mat Marcus wrote:
> I am working towards a patch for boost build (both versions) to allow
> executables produced by boost-build to work when linked against shared
> library versions of boost, under gcc 4.0. See for example:
>
> <http://article.gmane.org/gmane.comp.lib.boost.build/10072>

As far as I understand this is only a problem with the Apple version of
GCC? I'm curious because the GCC documentation explicitly says that the
default visibility is for all symbols to be public which is designed for
backward compatibility, as in this case.

> Questions:
> 1) What is the right way to make some flags dependent on compiler
> version?

For BBv1, one way is to rely on the toolset name. Another is using the
SHELL builtin as you did. And yet another is to use the name of the GCC
executable as it has the version number on some installations. And
sometimes you can use the version of the OS as the compiler is available
based on a release. v1/darwin-tools.jam uses a combination of those to
account for the "-fcoalesce-templates" option.

> 2) Does anyone dislike the idea of making <symbol-visibility> a feature?

Not really. But it's usually good to either consider if such a feature
should be available for all toolsets (i.e. can it be implemented or
faked for all compilers), or to limit it to one toolset and/or platform.

I think the important issue to figure out here is where this
"-fvisibility=hidden" being the default is a problem and limit any fix
to those contexts.

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com
-- 102708583/icq - grafikrobot/aim - Grafik/jabber.org
 

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk