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
>> "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
-- 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