Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-09-11 09:47:23


"Jonathan Turkanis" <technews_at_[hidden]> writes:

> "David Abrahams" <dave_at_[hidden]> wrote in message
> news:ud60tozt9.fsf_at_boost-consulting.com...
>> "Pavel Vozenilek" <pavel_vozenilek_at_[hidden]> writes:
>
>> > Right now libraries define their own macros, e.g
>> > Iostreams has BOOST_IO_DECL and Regex
>> > uses BOOST_REGEX_DECL.
>
>> > I suggest common macro, BOOST_DECL
>> > to be used Boost-wide.
>
>> > Its value may be by default empty or deduced
>> > from BOOST_ALL_DYN_LINK
>> > as it is done in Regex.
>>
>> It may be important to link a static version of one library with
>> a dynamic version of another. That wouldn't be possible with a
>> single macro.
>
> What would be nice is a macro BOOST_DECLSPEC(xxx) which expands to
>
> 1. __declspec(dllexport) if
>
> a. BOOST_HAS_DECLSPEC are BOOST_xxx_SOURCE defined AND
> b. one of BOOST_ALL_DYN_LINK and BOOST_xxx_DYN_LINK is defined
>
> 2. __declspec(dllimport) if
> a. BOOST_HAS_DECLSPEC is defined
> b. BOOST_xxx_SOURCE is not defined
> c. one of BOOST_ALL_DYN_LINK and BOOST_xxx_DYN_LINK is defined
>
> 3. nothing, otherwise.
>
> Paul Mensonides once sent me some code which does a much simple version of the
> above, but it included four headers from Boost.PP and was 29 lines long.

I don't think that should be an obstacle, if it gets the job done
efficiently.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

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