Add README-DEV
This commit is contained in:
parent
b951b72546
commit
c72a7b11b5
60
README-DEV
Normal file
60
README-DEV
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
1. Boost dependencies
|
||||||
|
|
||||||
|
Personally I found the online documentation to be unclear on this question, so
|
||||||
|
here are the facts based on the source code and the upstream build.
|
||||||
|
|
||||||
|
The source code includes headers (conditionally) from the following Boost
|
||||||
|
libraries:
|
||||||
|
|
||||||
|
Boost.Align
|
||||||
|
Boost.Array
|
||||||
|
Boost.Assert
|
||||||
|
Boost.Bind
|
||||||
|
Boost.Chrono
|
||||||
|
Boost.Config
|
||||||
|
Boost.Context
|
||||||
|
Boost.Coroutine
|
||||||
|
Boost.DateTime
|
||||||
|
Boost.Detail
|
||||||
|
Boost.Exception
|
||||||
|
Boost.Function
|
||||||
|
Boost.Limits
|
||||||
|
Boost.MakeShared
|
||||||
|
Boost.Regex
|
||||||
|
Boost.SmartPtr
|
||||||
|
Boost.ThrowException
|
||||||
|
Boost.TypeTraits
|
||||||
|
Boost.Units
|
||||||
|
Boost.Utility
|
||||||
|
|
||||||
|
Most, but not all, of the Boost dependencies have a user-visible controlling
|
||||||
|
macro, ASIO_DISABLE_BOOST_<library>.
|
||||||
|
|
||||||
|
If Asio is built in standalone mode (which is turned on automatically if a
|
||||||
|
C++11-capable compiler is detected) "most of Asio may now be used without a
|
||||||
|
dependency on Boost header files or libraries". Note that "standalone mode" is
|
||||||
|
not the same as a "non-Boost version of the library". In other words, the
|
||||||
|
non-Boost version of the library can in turn be in standalone mode.
|
||||||
|
|
||||||
|
In standalone mode most of the Boost dependencies are disabled directly via
|
||||||
|
their controlling macros (in asio/detail/config.hpp), but the following ones
|
||||||
|
are not:
|
||||||
|
|
||||||
|
Boost.Context
|
||||||
|
Boost.Coroutine
|
||||||
|
Boost.Detail
|
||||||
|
Boost.Exception
|
||||||
|
Boost.Function
|
||||||
|
Boost.SmartPtr
|
||||||
|
Boost.TypeTraits
|
||||||
|
Boost.Utility
|
||||||
|
|
||||||
|
Some of these are enabled based on platform and feature check macros. For
|
||||||
|
example, Boost.TypeTraits headers will be included if <type_traits> is not
|
||||||
|
available. Others, like Boost.Coroutine, can be controlled independently of
|
||||||
|
ASIO_STANDALONE (in this case via ASIO_DISABLE_BOOST_COROUTINE or the upstream
|
||||||
|
--enable-boost-coroutine configure option).
|
||||||
|
|
||||||
|
Currently we force the standalone mode and then disable the rest of the Boost
|
||||||
|
dependencies. Currently this is not configurable but in the future we may
|
||||||
|
change that.
|
Loading…
Reference in New Issue
Block a user